Simplify code using Java 8 features
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / ShardDataTreeMetadata.java
index c0c3d6cbb0a584b1523473d2baeb01a12f96e499..e2c1b27db1406ad0e6d2f3e1b405d1f6db33f464 100644 (file)
@@ -15,24 +15,58 @@ import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier
 import org.opendaylight.controller.cluster.datastore.persisted.ShardDataTreeSnapshotMetadata;
 
 abstract class ShardDataTreeMetadata<T extends ShardDataTreeSnapshotMetadata<T>> {
+    /**
+     * Apply a recovered metadata snapshot.
+     *
+     * @param snapshot Metadata snapshot
+     */
     final void applySnapshot(@Nonnull final ShardDataTreeSnapshotMetadata<?> snapshot) {
         Verify.verify(getSupportedType().isInstance(snapshot), "Snapshot %s misrouted to handler of %s", snapshot,
             getSupportedType());
         doApplySnapshot(getSupportedType().cast(snapshot));
     }
 
+    /**
+     * Reset metadata to empty state.
+     */
     abstract void reset();
 
+    /**
+     * Apply a recovered metadata snapshot. This is not a public entrypoint, just an interface between the base class
+     * and its subclasses.
+     *
+     * @param snapshot Metadata snapshot
+     */
     abstract void doApplySnapshot(@Nonnull T snapshot);
 
-    abstract @Nonnull Class<T> getSupportedType();
+    /**
+     * Return the type of metadata snapshot this object supports.
+     *
+     * @return Metadata type
+     */
+    @Nonnull
+    abstract Class<T> getSupportedType();
 
-    abstract @Nullable T toSnapshot();
+    /**
+     * Take a snapshot of current metadata state.
+     *
+     * @return Metadata snapshot, or null if the metadata is empty.
+     */
+    @Nullable
+    abstract T toSnapshot();
 
     // Lifecycle events
+
+    abstract void onTransactionAborted(TransactionIdentifier txId);
+
     abstract void onTransactionCommitted(TransactionIdentifier txId);
 
+    abstract void onTransactionPurged(TransactionIdentifier txId);
+
+    abstract void onHistoryCreated(LocalHistoryIdentifier historyId);
+
     abstract void onHistoryClosed(LocalHistoryIdentifier historyId);
 
     abstract void onHistoryPurged(LocalHistoryIdentifier historyId);
+
 }