diff src/org/dancres/blitz/notify/EventGeneratorImplState.java @ 0:3dc0c5604566

Initial checkin of blitz 2.0 fcs - no installer yet.
author Dan Creswell <dan.creswell@gmail.com>
date Sat, 21 Mar 2009 11:00:06 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/dancres/blitz/notify/EventGeneratorImplState.java	Sat Mar 21 11:00:06 2009 +0000
@@ -0,0 +1,78 @@
+package org.dancres.blitz.notify;
+
+import java.io.Serializable;
+
+import java.rmi.MarshalledObject;
+
+import org.dancres.blitz.txn.TxnId;
+
+import org.dancres.blitz.mangler.MangledEntry;
+
+import org.dancres.blitz.oid.OID;
+
+/**
+   Used to contain a Memento (see GOF) of an EventGenerator which can be
+   saved to/loaded from disk.
+ */
+class EventGeneratorImplState implements EventGeneratorState {
+
+    private OID theOID;
+    private MangledEntry theTemplate;
+    private MarshalledObject theHandback;
+    private MarshalledObject theListener;
+    private long theSourceId;
+    private long theSeqNum;
+    private long theLeaseTime;
+    private TxnId theTxnId;
+
+    EventGeneratorImplState(OID aOID, MangledEntry aTemplate,
+                            MarshalledObject aHandback,
+                            MarshalledObject aListener,
+                            long aSourceId, long aSeqNum, long aLeaseTime,
+                            TxnId anId) {
+        theOID = aOID;
+        theTemplate = aTemplate;
+        theHandback = aHandback;
+        theListener = aListener;
+        theSourceId = aSourceId;
+        theSeqNum = aSeqNum;
+        theLeaseTime = aLeaseTime;
+        theTxnId = anId;
+    }
+
+    public EventGenerator getGenerator() {
+        return EventGeneratorImpl.restoreGenerator(this);
+    }
+
+    public boolean isPersistent() {
+        return (theTxnId == null);
+    }
+
+    public OID getOID() {
+        return theOID;
+    }
+
+    MangledEntry getTemplate() {
+        return theTemplate;
+    }
+
+    MarshalledObject getHandback() {
+        return theHandback;
+    }
+
+    MarshalledObject getListener() {
+        return theListener;
+    }
+
+    long getSourceId() {
+        return theSourceId;
+    }
+
+    long getSeqNum() {
+        return theSeqNum;
+    }
+
+    long getLeaseTime() {
+        return theLeaseTime;
+    }
+}