|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.erights.e.elib.tables.TraversalKey
Safe: Wraps a possibly unsettled base reference, in order to be able to use it as key in an EMap for purposes of traversal.
XXX This class should probably be extended to allow the traversal needed by serialization, but without revealing any encapsulated authority, as explained in the Future Work section of Safe Serialization Under Mutual Suspicion.
Field Summary | |
private IdentityMap |
myFringe
We capture the EQ pointers of these promises, after all forwardings at the time they were captured, but without following any forwardings since then. |
private int |
mySnapHash
|
private Object |
myWrapped
|
Constructor Summary | |
TraversalKey(Object wrapped)
Enabled: |
Method Summary | |
boolean |
equals(Object obj)
Suppressed: |
int |
hashCode()
Suppressed: |
String |
toString()
Suppressed: |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
private final Object myWrapped
private final int mySnapHash
private final IdentityMap myFringe
This works below the level of E's semantics. On a VM in which E's semantics are more primitively supported, such as one in which promise forwarding is handled automatically, TraversalKey may need a completely different implementation in order to have the same E-level semantics.
Constructor Detail |
public TraversalKey(Object wrapped)
wrapped
- Method Detail |
public boolean equals(Object obj)
equals
in class Object
obj
-
Object.hashCode()
,
java.util.Hashtable
public int hashCode()
hashCode
in class Object
java.lang.Object#equals(java.lang.Object)
,
java.util.Hashtable
public String toString()
toString
in class Object
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |