|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgroovy.lang.MetaProperty
groovy.lang.MetaBeanProperty
org.codehaus.groovy.runtime.metaclass.ThreadManagedMetaBeanProperty
public class ThreadManagedMetaBeanProperty
This MetaBeanProperty will create a pseudo property whose value is bound to the current Thread using soft references. The values will go out of scope and be garabage collected when the Thread dies or when memory is required by the JVM
The property uses an InheritableThreadLocal instance internally so child threads will still be able to see the property
Nested Class Summary | |
---|---|
(package private) class |
ThreadManagedMetaBeanProperty.ThreadBoundGetter
Accesses the ThreadBound state of the property as a getter |
private class |
ThreadManagedMetaBeanProperty.ThreadBoundSetter
Sets the ThreadBound state of the property like a setter |
Field Summary | |
---|---|
private java.lang.Class |
declaringClass
|
private ThreadManagedMetaBeanProperty.ThreadBoundGetter |
getter
|
private java.lang.Object |
initialValue
|
private Closure |
initialValueCreator
|
private static java.lang.ThreadLocal |
PROPERTY_INSTANCE_HOLDER
|
private static java.lang.String |
PROPERTY_SET_PREFIX
|
private ThreadManagedMetaBeanProperty.ThreadBoundSetter |
setter
|
private static CachedClass[] |
ZERO_ARGUMENT_LIST
|
Fields inherited from class groovy.lang.MetaProperty |
---|
name, type |
Constructor Summary | |
---|---|
ThreadManagedMetaBeanProperty(java.lang.Class declaringClass,
java.lang.String name,
java.lang.Class type,
Closure initialValueCreator)
Constructs a new ThreadManagedBeanProperty for the given arguments |
|
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 |
Method Summary | |
---|---|
MetaMethod |
getGetter()
Get the getter method. |
private java.lang.String |
getGetterName(java.lang.String propertyName,
java.lang.Class type)
|
java.lang.Object |
getInitialValue()
Retrieves the initial value of the ThreadBound property |
java.lang.Object |
getInitialValue(java.lang.Object object)
|
MetaMethod |
getSetter()
Get the setter method. |
private java.lang.String |
getSetterName(java.lang.String propertyName)
|
private static java.util.Map |
getThreadBoundPropertMap()
|
private static java.lang.Object |
getThreadBoundPropertyValue(java.lang.Object obj,
java.lang.String name,
java.lang.Object initialValue)
|
void |
setInitialValueCreator(Closure callable)
Closure responsible for creating the initial value of thread-managed bean properties |
private static java.lang.Object |
setThreadBoundPropertyValue(java.lang.Object obj,
java.lang.String name,
java.lang.Object value)
|
Methods inherited from class groovy.lang.MetaBeanProperty |
---|
getField, getModifiers, getProperty, setField, setProperty |
Methods inherited from class groovy.lang.MetaProperty |
---|
getName, getType |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final CachedClass[] ZERO_ARGUMENT_LIST
private static final java.lang.ThreadLocal PROPERTY_INSTANCE_HOLDER
private java.lang.Class declaringClass
private ThreadManagedMetaBeanProperty.ThreadBoundGetter getter
private ThreadManagedMetaBeanProperty.ThreadBoundSetter setter
private java.lang.Object initialValue
private static final java.lang.String PROPERTY_SET_PREFIX
private Closure initialValueCreator
Constructor Detail |
---|
public ThreadManagedMetaBeanProperty(java.lang.Class declaringClass, java.lang.String name, java.lang.Class type, java.lang.Object iv)
declaringClass
- The class that declares the propertyname
- The name of the propertytype
- The type of the propertyiv
- The properties initial valuepublic ThreadManagedMetaBeanProperty(java.lang.Class declaringClass, java.lang.String name, java.lang.Class type, Closure initialValueCreator)
declaringClass
- The class that declares the propertyname
- The name of the propertytype
- The type of the propertyinitialValueCreator
- The closure responsible for creating the initial valueMethod Detail |
---|
public java.lang.Object getInitialValue()
public java.lang.Object getInitialValue(java.lang.Object object)
public void setInitialValueCreator(Closure callable)
callable
- The closure responsible for creating the initial valueprivate static java.lang.Object getThreadBoundPropertyValue(java.lang.Object obj, java.lang.String name, java.lang.Object initialValue)
private static java.util.Map getThreadBoundPropertMap()
private static java.lang.Object setThreadBoundPropertyValue(java.lang.Object obj, java.lang.String name, java.lang.Object value)
public MetaMethod getGetter()
MetaBeanProperty
getGetter
in class MetaBeanProperty
public MetaMethod getSetter()
MetaBeanProperty
getSetter
in class MetaBeanProperty
private java.lang.String getGetterName(java.lang.String propertyName, java.lang.Class type)
private java.lang.String getSetterName(java.lang.String propertyName)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |