org.erights.e.extern.persist
Class SwissRetainer

java.lang.Object
  |
  +--org.erights.e.extern.timer.Retainer
        |
        +--org.erights.e.extern.persist.SwissRetainer
All Implemented Interfaces:
Amplifiable, Marker, Persistent, Runnable, Serializable

public class SwissRetainer
extends Retainer
implements Amplifiable

Untamed: A Retainer that also registers the payload in the SwissTable using the swissBase.

Author:
Mark S. Miller
See Also:
Serialized Form

Field Summary
private  IdentityMgr myIdentityMgr
           
private  Object myPayload
           
private  BigInteger mySwissBase
           
(package private) static long serialVersionUID
           
private static StaticMaker SwissRetainerMaker
           
 
Fields inherited from class org.erights.e.extern.timer.Retainer
myOptExpirationDate, myOptTimer
 
Fields inherited from interface org.erights.e.elib.serial.Persistent
HONORARY, HONORED_NAMES
 
Constructor Summary
SwissRetainer(Timer optTimer, long optExpirationDate, Object payload, IdentityMgr identityMgr, BigInteger swissBase)
          Enabled:
 
Method Summary
protected  void init(FlexMap retainers)
          Registers the payload in the SwissTable using the swissBase.
 SealedBox optSealedDispatch(Brand brand)
          Enabled:
 void run()
          Enabled:
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID

SwissRetainerMaker

private static final StaticMaker SwissRetainerMaker

myPayload

private Object myPayload

myIdentityMgr

private IdentityMgr myIdentityMgr

mySwissBase

private BigInteger mySwissBase
Constructor Detail

SwissRetainer

public SwissRetainer(Timer optTimer,
                     long optExpirationDate,
                     Object payload,
                     IdentityMgr identityMgr,
                     BigInteger swissBase)
              throws MalformedURLException
Enabled:

Method Detail

init

protected void init(FlexMap retainers)
Registers the payload in the SwissTable using the swissBase.

After construction or unserialization, the SwissRetainer isn't in a valid state until init() is called. We don't automate this with readResolve() in order to avoid a circular unserialization bug.

Overrides:
init in class Retainer
Parameters:
retainers - This retainer will remove itself as a key from retainers when it expires or is invoked.

run

public void run()
Enabled:

Specified by:
run in interface Runnable
Overrides:
run in class Retainer
See Also:
java.lang.Thread#run()

optSealedDispatch

public SealedBox optSealedDispatch(Brand brand)
Enabled:

Specified by:
optSealedDispatch in interface Amplifiable
Parameters:
brand -
Returns:


comments?