Class ClassLocal<E>

java.lang.Object
net.sf.basedb.util.ClassLocal<E>

public class ClassLocal<E> extends Object
This class is a similar to the JDK ThreadLocal class, but stores one object per class instead of one object per thread.

The main usage for this class is to allow a superclass to hold one object for each subclass that is extending it.

Version:
2.0
Author:
Nicklas
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private Map<Class<?>,E>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a new ClassLocal object.
  • Method Summary

    Modifier and Type
    Method
    Description
    get(Object instance)
    Get the object associated with the class of the specified instance.
    protected E
    initialValue(Object instance)
    Subclasses may override this to initialize the object stored for that class.
    void
    set(Object instance, E object)
    Store an object and associate it with the class of the specified instance.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • ClassLocal

      public ClassLocal()
      Create a new ClassLocal object.
  • Method Details

    • get

      public E get(Object instance)
      Get the object associated with the class of the specified instance.
      Parameters:
      instance - An object instance of the class
      See Also:
    • set

      public void set(Object instance, E object)
      Store an object and associate it with the class of the specified instance.
      Parameters:
      instance - An object instance of the class
      object - The object to store
      See Also:
    • initialValue

      protected E initialValue(Object instance)
      Subclasses may override this to initialize the object stored for that class.
      Parameters:
      instance - An object instance of the class
      Returns:
      The object to associate with the class