Enum Class ReferenceType

java.lang.Object
java.lang.Enum<ReferenceType>
org.codehaus.groovy.util.ReferenceType
All Implemented Interfaces:
Serializable, Comparable<ReferenceType>, Constable

public enum ReferenceType extends Enum<ReferenceType>
Supported reference implementations for managed references.
  • Enum Constant Details

    • SOFT

      public static final ReferenceType SOFT
      Stores referents as softly reachable values that may be cleared under memory pressure.
    • WEAK

      public static final ReferenceType WEAK
      Stores referents as weakly reachable values that may be cleared once weakly reachable.
    • PHANTOM

      public static final ReferenceType PHANTOM
      Stores referents as phantom references for post-mortem cleanup only.
    • HARD

      public static final ReferenceType HARD
      Stores referents strongly until cleared explicitly.
  • Method Details

    • values

      public static ReferenceType[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static ReferenceType valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • createReference

      protected abstract <T, V extends Finalizable> Reference<T,V> createReference(T value, V handler, ReferenceQueue queue)
      Creates a reference of this type for the supplied referent and handler.
      Type Parameters:
      T - the referent type
      V - the handler type
      Parameters:
      value - the referent to wrap
      handler - the cleanup handler associated with the reference
      queue - the queue to notify for queue-backed references
      Returns:
      the created reference