Class AbstractDOMTransactionFactory<T extends org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionFactory>
- java.lang.Object
-
- org.opendaylight.controller.cluster.databroker.AbstractDOMTransactionFactory<T>
-
- All Implemented Interfaces:
AutoCloseable
- Direct Known Subclasses:
AbstractDOMBroker
public abstract class AbstractDOMTransactionFactory<T extends org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionFactory> extends Object implements AutoCloseable
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractDOMTransactionFactory(Map<org.opendaylight.mdsal.common.api.LogicalDatastoreType,T> txFactories)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidcheckNotClosed()Checks if instance is not closed.voidclose()protected abstract com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo>commit(org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction transaction, Collection<org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort> cohorts)Submits a transaction asynchronously for commit.Map<org.opendaylight.mdsal.common.api.LogicalDatastoreType,T>getTxFactories()Convenience accessor of backing factories intended to be used only by finalization of this class.org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransactionnewReadOnlyTransaction()Creates a new read-only transaction.org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransactionnewReadWriteTransaction()Creates a new read-write transaction.protected abstract ObjectnewTransactionIdentifier()Implementations must return unique identifier for each and every call of this method.org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransactionnewWriteOnlyTransaction()Creates a new write-only transaction.
-
-
-
Method Detail
-
newTransactionIdentifier
protected abstract Object newTransactionIdentifier()
Implementations must return unique identifier for each and every call of this method.- Returns:
- new Unique transaction identifier.
-
commit
protected abstract com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> commit(org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction transaction, Collection<org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort> cohorts)Submits a transaction asynchronously for commit.- Parameters:
transaction- the transaction to submitcohorts- the associated cohorts- Returns:
- a resulting Future
-
newReadOnlyTransaction
public final org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction newReadOnlyTransaction()
Creates a new read-only transaction.- Returns:
- the transaction instance
-
newWriteOnlyTransaction
public final org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction newWriteOnlyTransaction()
Creates a new write-only transaction.- Returns:
- the transaction instance
-
newReadWriteTransaction
public final org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction newReadWriteTransaction()
Creates a new read-write transaction.- Returns:
- the transaction instance
-
getTxFactories
public final Map<org.opendaylight.mdsal.common.api.LogicalDatastoreType,T> getTxFactories()
Convenience accessor of backing factories intended to be used only by finalization of this class. Note: Finalization of this class may want to access other functionality of supplied Transaction factories.- Returns:
- Map of backing transaction factories.
-
checkNotClosed
protected final void checkNotClosed()
Checks if instance is not closed.- Throws:
IllegalStateException- If instance of this class was closed.
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable
-
-