org.jboss.util
Class SoftObject

java.lang.Object
  extended byjava.lang.ref.Reference
      extended byjava.lang.ref.SoftReference
          extended byorg.jboss.util.SoftObject

public final class SoftObject
extends java.lang.ref.SoftReference

Convenience class to wrap an Object into a SoftReference.

Modified from java.util.WeakHashMap.WeakKey.


Field Summary
protected  int hashCode
          The hash code of the nested object
 
Constructor Summary
SoftObject(java.lang.Object obj)
          Construct a SoftObject.
SoftObject(java.lang.Object obj, java.lang.ref.ReferenceQueue queue)
          Construct a SoftObject.
 
Method Summary
static SoftObject (src) create(java.lang.Object obj)
          Create a SoftObject for the given object.
static SoftObject (src) create(java.lang.Object obj, java.lang.ref.ReferenceQueue queue)
          Create a SoftObject for the given object.
 boolean equals(java.lang.Object obj)
          Check the equality of an object with this.
 int hashCode()
          Return the hash code of the nested object.
 
Methods inherited from class java.lang.ref.SoftReference
get
 
Methods inherited from class java.lang.ref.Reference
clear, enqueue, isEnqueued
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

hashCode

protected final int hashCode
The hash code of the nested object

Constructor Detail

SoftObject

public SoftObject(java.lang.Object obj)
Construct a SoftObject.

Parameters:
obj - Object to reference.

SoftObject

public SoftObject(java.lang.Object obj,
                  java.lang.ref.ReferenceQueue queue)
Construct a SoftObject.

Parameters:
obj - Object to reference.
queue - Reference queue.
Method Detail

equals

public boolean equals(java.lang.Object obj)
Check the equality of an object with this.

Parameters:
obj - Object to test equality with.
Returns:
True if object is equal.

hashCode

public int hashCode()
Return the hash code of the nested object.

Returns:
The hash code of the nested object.

create

public static SoftObject (src)  create(java.lang.Object obj)
Create a SoftObject for the given object.

Parameters:
obj - Object to reference.
Returns:
SoftObject or null if object is null.

create

public static SoftObject (src)  create(java.lang.Object obj,
                                java.lang.ref.ReferenceQueue queue)
Create a SoftObject for the given object.

Parameters:
obj - Object to reference.
queue - Reference queue.
Returns:
SoftObject or null if object is null.