public abstract class ForwardingDOMDataWriteTransaction extends com.google.common.collect.ForwardingObject implements DOMDataWriteTransaction
DOMDataWriteTransaction
implementation which forwards all interface
method invocation to a delegate instance.SUBMIT_EXCEPTION_MAPPER
Constructor and Description |
---|
ForwardingDOMDataWriteTransaction() |
Modifier and Type | Method and Description |
---|---|
boolean |
cancel()
Cancels the transaction.
|
com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> |
commit()
Submits this transaction to be asynchronously applied to update the logical data tree.
|
protected abstract DOMDataWriteTransaction |
delegate() |
void |
delete(LogicalDatastoreType store,
org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier path)
Removes a piece of data from specified path.
|
Object |
getIdentifier() |
void |
merge(LogicalDatastoreType store,
org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier path,
org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> data)
Merges a piece of data with the existing data at a specified path.
|
void |
put(LogicalDatastoreType store,
org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier path,
org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> data)
Stores a piece of data at the specified path.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
submit
@Nonnull protected abstract DOMDataWriteTransaction delegate()
delegate
in class com.google.common.collect.ForwardingObject
public Object getIdentifier()
getIdentifier
in interface AsyncTransaction<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?>>
getIdentifier
in interface org.opendaylight.yangtools.concepts.Identifiable<Object>
public void put(LogicalDatastoreType store, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier path, org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> data)
DOMDataWriteTransaction
For more information on usage and examples, please see the documentation in AsyncWriteTransaction
.
If you need to make sure that a parent object exists but you do not want modify
its pre-existing state by using put, consider using DOMDataWriteTransaction.merge(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier, org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?, ?>)
instead.
put
in interface DOMDataWriteTransaction
store
- the logical data store which should be modifiedpath
- the data object pathdata
- the data object to be written to the specified pathpublic void merge(LogicalDatastoreType store, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier path, org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> data)
DOMDataWriteTransaction
For more information on usage and examples, please see the documentation in AsyncWriteTransaction
.
If you require an explicit replace operation, use DOMDataWriteTransaction.put(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier, org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?, ?>)
instead.
merge
in interface DOMDataWriteTransaction
store
- the logical data store which should be modifiedpath
- the data object pathdata
- the data object to be merged to the specified pathpublic boolean cancel()
AsyncWriteTransaction
Transactions can only be cancelled if it's state is new or submitted.
Invoking cancel() on a failed or cancelled transaction will have no effect, and transaction is considered cancelled.
Invoking cancel() on a finished transaction (future returned by AsyncWriteTransaction.submit()
already completed will always
fail (return false).
cancel
in interface AsyncWriteTransaction<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?>>
public void delete(LogicalDatastoreType store, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier path)
AsyncWriteTransaction
delete
in interface AsyncWriteTransaction<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?>>
delete
in interface DOMDataWriteTransaction
store
- Logical data store which should be modifiedpath
- Data object pathpublic com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> commit()
AsyncWriteTransaction
FluentFuture
conveys the result of applying the data changes.
This call logically seals the transaction, which prevents the client from further changing the data tree using
this transaction. Any subsequent calls to put(LogicalDatastoreType, Path, Object)
,
merge(LogicalDatastoreType, Path, Object)
, delete(LogicalDatastoreType, Path)
will fail
with IllegalStateException
. The transaction is marked as submitted and enqueued into the data store
back-end for processing.
Whether or not the commit is successful is determined by versioning of the data tree and validation of registered commit participants if the transaction changes the data tree.
The effects of a successful commit of data depends on listeners and commit participants that are registered with the data broker.
A successful commit produces implementation-specific CommitInfo
structure, which is used to communicate
post-condition information to the caller. Such information can contain commit-id, timing information or any
other information the implementation wishes to share.
commit
in interface AsyncWriteTransaction<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier,org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?>>
TransactionCommitFailedException
or an exception derived from TransactionCommitFailedException.Copyright © 2019 OpenDaylight. All rights reserved.