org.jboss.modules.ref
Class WeakReference<T,A>

java.lang.Object
  extended by java.lang.ref.Reference<T>
      extended by java.lang.ref.WeakReference<T>
          extended by org.jboss.modules.ref.WeakReference<T,A>
Type Parameters:
T - the reference value type
A - the attachment type
All Implemented Interfaces:
Reference<T,A>

public class WeakReference<T,A>
extends WeakReference<T>
implements Reference<T,A>

A reapable weak reference with an attachment. If a Reaper is given, then it will be used to asynchronously clean up the referent.

Author:
David M. Lloyd
See Also:
WeakReference

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jboss.modules.ref.Reference
Reference.Type
 
Constructor Summary
WeakReference(T referent)
           
WeakReference(T referent, A attachment)
           
WeakReference(T referent, A attachment, Reaper<T,A> reaper)
           
WeakReference(T referent, A attachment, ReferenceQueue<? super T> q)
           
 
Method Summary
 A getAttachment()
          Get the attachment, if any.
 Reaper<T,A> getReaper()
          Get the associated reaper.
 Reference.Type getType()
          Get the type of the reference.
 String toString()
           
 
Methods inherited from class java.lang.ref.Reference
clear, enqueue, get, isEnqueued
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jboss.modules.ref.Reference
clear, get
 

Constructor Detail

WeakReference

public WeakReference(T referent)

WeakReference

public WeakReference(T referent,
                     A attachment)

WeakReference

public WeakReference(T referent,
                     A attachment,
                     ReferenceQueue<? super T> q)

WeakReference

public WeakReference(T referent,
                     A attachment,
                     Reaper<T,A> reaper)
Method Detail

getAttachment

public A getAttachment()
Description copied from interface: Reference
Get the attachment, if any.

Specified by:
getAttachment in interface Reference<T,A>
Returns:
the attachment

getType

public Reference.Type getType()
Description copied from interface: Reference
Get the type of the reference.

Specified by:
getType in interface Reference<T,A>
Returns:
the type

getReaper

public Reaper<T,A> getReaper()
Get the associated reaper.

Returns:
the reaper

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2011. All Rights Reserved.