X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=dom%2Fmdsal-dom-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fdom%2Fspi%2Fstore%2FSnapshotBackedTransactions.java;fp=dom%2Fmdsal-dom-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fdom%2Fspi%2Fstore%2FSnapshotBackedTransactions.java;h=e90c7a474578d049887bb7b1350a5dc61f232eee;hb=fccad6eeb7f09713bc1037f74c0cf938eb3c380c;hp=ccf1f7884da35c59c11bdc1e3d4e6e2bc4eaa0f1;hpb=c4e04329a53e6569db365adc2ffc182b15bc2f3e;p=mdsal.git diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactions.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactions.java index ccf1f7884d..e90c7a4745 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactions.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/store/SnapshotBackedTransactions.java @@ -7,7 +7,11 @@ */ package org.opendaylight.mdsal.dom.spi.store; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; +import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedReadTransaction.TransactionClosePrototype; import org.opendaylight.mdsal.dom.spi.store.SnapshotBackedWriteTransaction.TransactionReadyPrototype; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot; @@ -22,13 +26,29 @@ public final class SnapshotBackedTransactions { /** * Creates a new read-only transaction. + * * @param identifier Transaction Identifier * @param debug Enable transaction debugging * @param snapshot Snapshot which will be modified. + * @return A new read-only transaction */ - public static SnapshotBackedReadTransaction newReadTransaction(final T identifier, + public static @NonNull SnapshotBackedReadTransaction newReadTransaction(final T identifier, final boolean debug, final DataTreeSnapshot snapshot) { - return new SnapshotBackedReadTransaction<>(identifier, debug, snapshot); + return new SnapshotBackedReadTransaction<>(identifier, debug, snapshot, null); + } + + /** + * Creates a new read-only transaction. + * + * @param identifier Transaction Identifier + * @param debug Enable transaction debugging + * @param snapshot Snapshot which will be modified. + * @param closeImpl Implementation of close method + * @return A new read-only transaction + */ + public static @NonNull SnapshotBackedReadTransaction newReadTransaction(final T identifier, + final boolean debug, final DataTreeSnapshot snapshot, final TransactionClosePrototype closeImpl) { + return new SnapshotBackedReadTransaction<>(identifier, debug, snapshot, requireNonNull(closeImpl)); } /** @@ -38,8 +58,9 @@ public final class SnapshotBackedTransactions { * @param debug Enable transaction debugging * @param snapshot Snapshot which will be modified. * @param readyImpl Implementation of ready method. + * @return A new read-write transaction */ - public static SnapshotBackedReadWriteTransaction newReadWriteTransaction(final T identifier, + public static @NonNull SnapshotBackedReadWriteTransaction newReadWriteTransaction(final T identifier, final boolean debug, final DataTreeSnapshot snapshot, final TransactionReadyPrototype readyImpl) { return new SnapshotBackedReadWriteTransaction<>(identifier, debug, snapshot, readyImpl); } @@ -51,8 +72,9 @@ public final class SnapshotBackedTransactions { * @param debug Enable transaction debugging * @param snapshot Snapshot which will be modified. * @param readyImpl Implementation of ready method. + * @return A new write transaction */ - public static SnapshotBackedWriteTransaction newWriteTransaction(final T identifier, + public static @NonNull SnapshotBackedWriteTransaction newWriteTransaction(final T identifier, final boolean debug, final DataTreeSnapshot snapshot, final TransactionReadyPrototype readyImpl) { return new SnapshotBackedWriteTransaction<>(identifier, debug, snapshot, readyImpl); }