*/
package org.opendaylight.controller.sal.core.spi.data;
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope;
-import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeListener;
-import org.opendaylight.controller.md.sal.common.api.data.DataChangeListener;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
-import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-public interface DOMStore {
-
- /**
- *
- * Creates a read only transaction
- *
- * @return
- */
- DOMStoreReadTransaction newReadOnlyTransaction();
-
- /**
- * Creates write only transaction
- *
- * @return
- */
- DOMStoreWriteTransaction newWriteOnlyTransaction();
-
- /**
- * Creates Read-Write transaction
- *
- * @return
- */
- DOMStoreReadWriteTransaction newReadWriteTransaction();
-
+/**
+ * DOM Data Store
+ *
+ * <p>
+ * DOM Data Store provides transactional tree-like storage for YANG-modeled
+ * entities described by YANG schema and represented by {@link NormalizedNode}.
+ *
+ * <p>
+ * Read and write access to stored data is provided only via transactions
+ * created using {@link #newReadOnlyTransaction()},
+ * {@link #newWriteOnlyTransaction()} and {@link #newReadWriteTransaction()}, or
+ * by creating {@link org.opendaylight.controller.md.sal.common.api.data.TransactionChain}.
+ *
+ * @deprecated Use {@link org.opendaylight.mdsal.dom.spi.store.DOMStore} instead.
+ */
+@Deprecated
+public interface DOMStore extends DOMStoreTransactionFactory {
/**
- * Registers {@link DataChangeListener} for Data Change callbacks
- * which will be triggered on the change of provided subpath. What
- * constitutes a change depends on the @scope parameter.
+ * Creates new transaction chain.
*
- * Listener upon registration receives an initial callback
- * {@link AsyncDataChangeListener#onDataChanged(org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent)}
- * which contains stable view of data tree at the time of registration.
- *
- * @param path Path (subtree identifier) on which client listener will be invoked.
- * @param listener Instance of listener which should be invoked on
- * @param scope Scope of change which triggers callback.
- * @return Listener Registration object, which client may use to close registration
- * / interest on receiving data changes.
+ * <p>
+ * Transactions in a chain need to be committed in sequence and each
+ * transaction should see the effects of previous transactions as if they
+ * happened.
*
+ * @see DOMStoreTransactionChain for more information.
+ * @return Newly created transaction chain.
*/
- <L extends AsyncDataChangeListener<InstanceIdentifier, NormalizedNode<?, ?>>> ListenerRegistration<L> registerChangeListener(
- InstanceIdentifier path, L listener, DataChangeScope scope);
-
+ DOMStoreTransactionChain createTransactionChain();
}