*/
package org.opendaylight.controller.cluster.datastore;
-import javax.annotation.Nonnull;
-import org.opendaylight.controller.cluster.datastore.identifiers.TransactionIdentifier;
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final TransactionIdentifier transactionIdentifier;
private long modificationCount = 0;
private boolean handOffComplete;
+ private final short transactionVersion;
protected AbstractTransactionContext(TransactionIdentifier transactionIdentifier) {
+ this(transactionIdentifier, DataStoreVersions.CURRENT_VERSION);
+ }
+
+ protected AbstractTransactionContext(TransactionIdentifier transactionIdentifier, short transactionVersion) {
+ // FIXME: requireNonNull()?
this.transactionIdentifier = transactionIdentifier;
+ this.transactionVersion = transactionVersion;
}
/**
*
* @return Transaction identifier.
*/
- @Nonnull protected final TransactionIdentifier getIdentifier() {
+ // FIXME: does this imply Identifiable?
+ protected final @NonNull TransactionIdentifier getIdentifier() {
return transactionIdentifier;
}
handOffComplete = true;
}
- protected boolean isOperationHandOffComplete(){
+ protected boolean isOperationHandOffComplete() {
return handOffComplete;
}
public boolean usesOperationLimiting() {
return false;
}
+
+ @Override
+ public short getTransactionVersion() {
+ return transactionVersion;
+ }
}