1 5 package com.tc.objectserver.tx; 6 7 public class TransactionState { 8 private static final int APPLY_STARTED = 0x01; 9 private static final int APPLY_COMMITTED = 0x02; 10 private static final int BROADCAST_COMPLETED = 0x04; 11 private static final int TXN_RELAYED = 0x08; 12 13 private static final int TXN_PROCESSING_COMPLETE = (APPLY_COMMITTED | APPLY_STARTED | BROADCAST_COMPLETED | TXN_RELAYED); 14 15 private int state = 0x00; 16 17 public void applyAndCommitSkipped() { 18 state |= APPLY_STARTED | APPLY_COMMITTED; 19 } 20 21 public void applyStarted() { 22 state |= APPLY_STARTED; 23 } 24 25 public boolean isComplete() { 26 return (state == TXN_PROCESSING_COMPLETE); 27 } 28 29 public void broadcastCompleted() { 30 state |= BROADCAST_COMPLETED; 31 } 32 33 public void applyCommitted() { 34 state |= APPLY_COMMITTED; 35 } 36 37 public String toString() { 38 return "TransactionState = [ " + ((state & APPLY_STARTED) == APPLY_STARTED ? " APPLY_STARTED : " : " : ") 39 + ((state & APPLY_COMMITTED) == APPLY_COMMITTED ? " APPLY_COMMITED : " : " : ") 40 + ((state & TXN_RELAYED) == TXN_RELAYED ? " TXN_RELAYED : " : " : ") 41 + ((state & BROADCAST_COMPLETED) == BROADCAST_COMPLETED ? " BROADCAST_COMPLETE } " : " ]"); 42 } 43 44 public void relayTransactionComplete() { 45 state |= TXN_RELAYED; 46 } 47 48 } | Popular Tags |