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, int), java.lang.Object#wait(long), 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