|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
T
- Referentpublic interface Referrer<T>
The public API of package private Reference implementations, it defines the equals and hashCode contracts as well as methods identical to Reference.
Reference
,
Ref
Method Summary | |
---|---|
void |
clear()
|
boolean |
enqueue()
|
boolean |
equals(Object o)
Equals is calculated on IDENTITY or EQUALITY. |
T |
get()
|
int |
hashCode()
Standard hashCode calculation for IDENTITY based references, where k is the referent. |
boolean |
isEnqueued()
|
Method Detail |
---|
T get()
Reference.get()
void clear()
Reference.clear()
boolean isEnqueued()
Reference.isEnqueued()
boolean enqueue()
Reference.enqueue()
boolean equals(Object o)
Equals is calculated on IDENTITY or EQUALITY.
IDENTITY calculation:
if (this == o) return true;
if (!(o instanceof Referrer)) return false;
Object k1 = get();
Object k2 = ((Referrer) o).get();
if ( k1 != null && k1 == k2 ) return true;
return ( k1 == null && k2 == null && hashCode() == o.hashCode());
if (this == o) return true; // Same reference.
if (!(o instanceof Referrer)) return false;
Object k1 = get();
Object k2 = ((Referrer) o).get();
if ( k1 != null && k1.equals(k2)) return true;
return ( k1 == null && k2 == null && hashCode() == o.hashCode());
- Overrides:
equals
in class Object
- Parameters:
o
-
- Returns:
- See Also:
Ref
int hashCode()
Standard hashCode calculation for IDENTITY based references, where k is the referent. This may be stored in a final field:
int hash = 7;
hash = 29 * hash + System.identityHashCode(k);
hash = 29 * hash + k.getClass().hashCode();
Standard hashCode calculation for EQUALITY based references, where k is the referent:
int hash = 7;
hash = 29 * hash + k.hashCode();
hash = 29 * hash + k.getClass().hashCode();
The hash must be calculated during construction and if the reference is cleared, the recorded hashCode returned. While the referent remains reachable the hashCode must be calculated each time.
hashCode
in class Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |