- protected final TransactionIdentifier identifier;
- protected final List<Future<Object>> recordedOperationFutures = Lists.newArrayList();
+ protected AbstractTransactionContext(TransactionIdentifier transactionIdentifier) {
+ this(transactionIdentifier, DataStoreVersions.CURRENT_VERSION);
+ }
+
+ protected AbstractTransactionContext(TransactionIdentifier transactionIdentifier, short transactionVersion) {
+ // FIXME: requireNonNull()?
+ this.transactionIdentifier = transactionIdentifier;
+ this.transactionVersion = transactionVersion;
+ }
+
+ /**
+ * Get the transaction identifier associated with this context.
+ *
+ * @return Transaction identifier.
+ */
+ // FIXME: does this imply Identifiable?
+ protected final @NonNull TransactionIdentifier getIdentifier() {
+ return transactionIdentifier;
+ }
+
+ protected final void incrementModificationCount() {
+ modificationCount++;
+ }