Cleaned up dom-api and dom-broker from legacy concepts.
[mdsal.git] / dom / mdsal-dom-api / src / main / java / org / opendaylight / mdsal / dom / api / DOMDataBroker.java
1 /*
2  * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.mdsal.dom.api;
10
11 import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker;
12 import org.opendaylight.controller.md.sal.common.api.data.TransactionChainFactory;
13 import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener;
14 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
15 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
16
17 /**
18  * Data Broker which provides data transaction and data change listener functionality
19  * using {@link NormalizedNode} data format.
20  *
21  * This interface is type capture of generic interfaces and returns type captures
22  * of results for client-code convenience.
23  *
24  */
25 public interface DOMDataBroker extends
26         AsyncDataBroker<YangInstanceIdentifier, NormalizedNode<?, ?>, DOMDataChangeListener>,
27         TransactionChainFactory<YangInstanceIdentifier, NormalizedNode<?, ?>>,
28         DOMExtensibleService<DOMDataBroker, DOMDataBrokerExtension> {
29
30     /**
31      * {@inheritDoc}
32      */
33     @Override
34     DOMDataReadOnlyTransaction newReadOnlyTransaction();
35
36     /**
37      * {@inheritDoc}
38      */
39     @Override
40     DOMDataReadWriteTransaction newReadWriteTransaction();
41
42     /**
43      * {@inheritDoc}
44      */
45     @Override
46     DOMDataWriteTransaction newWriteOnlyTransaction();
47
48     /**
49      * {@inheritDoc}
50      */
51     @Override
52     DOMTransactionChain createTransactionChain(TransactionChainListener listener);
53 }