*/
package org.opendaylight.controller.md.sal.common.api.data;
-import org.opendaylight.yangtools.concepts.Path;
-
import com.google.common.util.concurrent.CheckedFuture;
+import org.opendaylight.yangtools.concepts.Path;
/**
- * User-supplied participant in three-phase commit of transaction for configuration data tree
+ * User-supplied participant in three-phase commit of transaction for configuration data tree.
*
+ * <p>
* Client-supplied implementation of commit handler for subtree, which
* is responsible for processing CAN-COMMIT phase of three-phase commit protocol
* and return CommitCohort, which provides access to additional transitions
public interface AsyncConfigurationCommitHandler<P extends Path<P>, D> {
/**
- *
* Requests a can commit phase
*
+ * <p>
* Implementations SHOULD NOT do any blocking operation during
* processing this callback.
*
* <ul>
* <li><b>is successful</b> - invocation of {@link CheckedFuture#checkedGet()} on returned future MUST
* return {@link AsyncConfigurationCommitCohort} associated with request.</li>
- * <li><b>is unsuccessful</b> - invocation of {@link CheckedFuture#checkedGet()} must throw instance of {@link DataValidationFailedException}
+ * <li><b>is unsuccessful</b> - invocation of {@link CheckedFuture#checkedGet()} must throw instance
+ * of {@link DataValidationFailedException}
* with human readable explanaition of error condition.
* </li>
* </ul>
* </li>
+ * </ul>
* @param request
* Commit Request submitted by client, which contains
* information about modifications and read-only view as
ConfigurationCommitRequest<P, D> request);
/**
- *
* Commit Request as was submitted by client code
*
+ * <p>
* Commit Request contains list view of created / updated / removed
* path and read-only view of proposed client transaction,
* which may be used to retrieve modified or referenced data.
* @param <D>
* Type of data (payload), which represents data payload
*/
- static interface ConfigurationCommitRequest<P extends Path<P>, D> {
+ interface ConfigurationCommitRequest<P extends Path<P>, D> {
/**
- *
* Read-only transaction which provides access only to configuration
* data tree as if submitted transaction successfully happened and
* no other concurrent modifications happened between allocation
* of client transactions and write of client transactions.
*
+ * <p>
* Implementations of Commit Handlers are REQUIRED to use this
* read-only view to access any data from configuration data tree,
* in order to capture them as preconditions for this transaction.
*
* @return Read-only transaction which provides access only to configuration
- * data tree as if submitted transaction successfully happened
+ * data tree as if submitted transaction successfully happened
*/
AsyncReadTransaction<P, D> getReadOnlyView();
/**
- *
* Returns iteration of paths, to data which was introduced by this transaction.
*
* @return Iteration of paths, which was introduced by this transaction.
*/
Iterable<P> getCreatedPaths();
+
/**
- *
* Returns iteration of paths, to data which was updated by this transaction.
*
* @return Iteration of paths, which was updated by this transaction.
Iterable<P> getUpdatedPaths();
/**
- *
* Returns iteration of paths, to data which was removed by this transaction.
*
* @return Iteration of paths, which was removed by this transaction.