Add SnapshotBackedTransaction
[mdsal.git] / dom / mdsal-dom-spi / src / main / java / org / opendaylight / mdsal / dom / spi / store / SnapshotBackedWriteTransaction.java
index 3ac0ae78c9b323829a98c11624644e2a60e99e14..a6716fcac327e5e5017f01b48744093b8d389537 100644 (file)
@@ -24,15 +24,14 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Implementation of Write transaction which is backed by
- * {@link DataTreeSnapshot} and executed according to
- * {@link org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype}.
+ * Implementation of Write transaction which is backed by {@link DataTreeSnapshot} and executed according to
+ * {@link TransactionReadyPrototype}.
  *
  * @param <T> Identifier type
  */
 @Beta
 public class SnapshotBackedWriteTransaction<T> extends AbstractDOMStoreTransaction<T>
-        implements DOMStoreWriteTransaction {
+        implements DOMStoreWriteTransaction, SnapshotBackedTransaction {
 
     private static final Logger LOG = LoggerFactory.getLogger(SnapshotBackedWriteTransaction.class);
 
@@ -170,6 +169,11 @@ public class SnapshotBackedWriteTransaction<T> extends AbstractDOMStoreTransacti
         }
     }
 
+    @Override
+    public Optional<DataTreeSnapshot> getSnapshot() {
+        return readyImpl == null ? Optional.empty() : Optional.ofNullable(mutableTree);
+    }
+
     @Override
     protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
         return toStringHelper.add("ready", readyImpl == null);