Groovy Documentation

## org.codehaus.groovy.runtime.metaclass
[Java] Class ThreadManagedMetaBeanProperty

    java.lang.Object
      groovy.lang.MetaProperty
          groovy.lang.MetaBeanProperty
              org.codehaus.groovy.runtime.metaclass.ThreadManagedMetaBeanProperty

    public class ThreadManagedMetaBeanProperty
    extends MetaBeanProperty

This MetaBeanProperty will create a pseudo property whose value is bound to an object using weak references. The values will go out of scope and be garbage collected when the the object is collected In fact, this class should be called ExpandoProperty.

Authors:
  Graeme Rocher
  Alex Tkachman

Since:
  1.5

Field Summary

Fields inherited from class MetaProperty
PROPERTY_SET_PREFIX, name, type

Constructor Summary
`ThreadManagedMetaBeanProperty(java.lang.Class declaringClass, java.lang.String name, java.lang.Class type, java.lang.Object iv)` Constructs a new ThreadManagedBeanProperty for the given arguments
`ThreadManagedMetaBeanProperty(java.lang.Class declaringClass, java.lang.String name, java.lang.Class type, Closure initialValueCreator)` Constructs a new ThreadManagedBeanProperty for the given arguments

Method Summary
`MetaMethod` | `getGetter()`
`java.lang.Object` | `getInitialValue()` Retrieves the initial value of the ThreadBound property
`java.lang.Object` | `getInitialValue(java.lang.Object object)`
`MetaMethod` | `getSetter()`
`void` | `setInitialValueCreator(Closure callable)` Closure responsible for creating the initial value of thread-managed bean properties

Methods inherited from class MetaBeanProperty
getField, getGetter, getModifiers, getProperty, getSetter, setField, setProperty

Methods inherited from class MetaProperty
getGetterName, getModifiers, getName, getProperty, getSetterName, getType, setProperty

Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Constructor Detail

### ThreadManagedMetaBeanProperty

    public ThreadManagedMetaBeanProperty(java.lang.Class declaringClass, java.lang.String name, java.lang.Class type, java.lang.Object iv)

  Constructs a new ThreadManagedBeanProperty for the given arguments
  Parameters:
    `declaringClass` - The class that declares the property
    `name` - The name of the property
    `type` - The type of the property
    `iv` - The properties initial value

### ThreadManagedMetaBeanProperty

    public ThreadManagedMetaBeanProperty(java.lang.Class declaringClass, java.lang.String name, java.lang.Class type, Closure initialValueCreator)

  Constructs a new ThreadManagedBeanProperty for the given arguments
  Parameters:
    `declaringClass` - The class that declares the property
    `name` - The name of the property
    `type` - The type of the property
    `initialValueCreator` - The closure responsible for creating the initial value

Method Detail

### getGetter

    public MetaMethod getGetter()

### getInitialValue

    public java.lang.Object getInitialValue()

  Retrieves the initial value of the ThreadBound property
  Returns:
    The initial value

### getInitialValue

    public java.lang.Object getInitialValue(java.lang.Object object)

### getSetter

    public MetaMethod getSetter()

### setInitialValueCreator

    public void setInitialValueCreator(Closure callable)

  Closure responsible for creating the initial value of thread-managed bean properties
  Parameters:
    `callable` - The closure responsible for creating the initial value

Groovy Documentation