1 52 53 package com.go.trove.util.tq; 54 55 import java.util.EventObject ; 56 import java.util.Date ; 57 58 67 public class TransactionQueueEvent extends EventObject { 68 private Transaction mTransaction; 69 private Throwable mThrowable; 70 private long mTimestampMillis; 71 private long mStageDuration; 72 73 private transient Date mTimestamp; 74 75 public TransactionQueueEvent(TransactionQueue source, 76 Transaction transaction) { 77 super(source); 78 mTransaction = transaction; 79 mTimestampMillis = System.currentTimeMillis(); 80 } 81 82 public TransactionQueueEvent(TransactionQueue source, 83 Transaction transaction, 84 Throwable throwable) { 85 super(source); 86 mTransaction = transaction; 87 mThrowable = throwable; 88 mTimestampMillis = System.currentTimeMillis(); 89 } 90 91 95 public TransactionQueueEvent(TransactionQueueEvent event) { 96 super(event.getSource()); 97 mTransaction = event.mTransaction; 98 mThrowable = event.mThrowable; 99 mStageDuration = (mTimestampMillis = System.currentTimeMillis()) - 100 event.mTimestampMillis; 101 } 102 103 107 public TransactionQueueEvent(TransactionQueueEvent event, 108 Throwable throwable) { 109 super(event.getSource()); 110 mTransaction = event.mTransaction; 111 mThrowable = throwable; 112 mStageDuration = (mTimestampMillis = System.currentTimeMillis()) - 113 event.mTimestampMillis; 114 } 115 116 public TransactionQueue getTransactionQueue() { 117 return (TransactionQueue)getSource(); 118 } 119 120 123 public Date getTimestamp() { 124 if (mTimestamp == null) { 125 mTimestamp = new Date (mTimestampMillis); 126 } 127 return mTimestamp; 128 } 129 130 133 public long getTimestampMillis() { 134 return mTimestampMillis; 135 } 136 137 144 public long getStageDuration() { 145 return mStageDuration; 146 } 147 148 152 public Transaction getTransaction() { 153 return mTransaction; 154 } 155 156 160 public Throwable getThrowable() { 161 return mThrowable; 162 } 163 } 164 | Popular Tags |