*/
package org.opendaylight.mdsal.binding.api;
-import com.google.common.util.concurrent.FluentFuture;
-import java.util.Optional;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.mdsal.common.api.ReadFailedException;
-import org.opendaylight.yangtools.concepts.Registration;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-
/**
* A transaction that provides a stateful read-only view of the data tree.
*
* java.util.concurrent.Executor)} or other functions from {@link com.google.common.util.concurrent.Futures} to register
* more specific listeners.
*/
-public interface ReadTransaction extends Transaction, Registration {
- /**
- * Reads data from the provided logical data store located at the provided path.
- *
- * <p>
- * If the target is a subtree, then the whole subtree is read (and will be accessible from the returned data
- * object).
- *
- * @param store Logical data store from which read should occur.
- * @param path Path which uniquely identifies subtree which client want to read
- * @return a FluentFuture containing the result of the read. The Future blocks until the commit operation is
- * complete. Once complete:
- * <ul>
- * <li>If the data at the supplied path exists, the Future returns an Optional object containing the data.
- * </li>
- * <li>If the data at the supplied path does not exist, the Future returns Optional.empty().</li>
- * <li>If the read of the data fails, the Future will fail with a {@link ReadFailedException} or
- * an exception derived from ReadFailedException.</li>
- * </ul>
- */
- <T extends DataObject> FluentFuture<Optional<T>> read(LogicalDatastoreType store, InstanceIdentifier<T> path);
-
+public interface ReadTransaction extends Transaction, AutoCloseable, ReadOperations {
/**
* Closes this transaction and releases all resources associated with it.
*/