Groovy 1.7.0

org.codehaus.groovy.runtime.metaclass
Class ThreadManagedMetaBeanProperty

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

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 garabage collected when the the object is collected In fact, this class should be called ExpandoProperty.

author:
Graeme Rocher
author:
Alex Tkachman
since:
1.5


Nested Class Summary
class ThreadManagedMetaBeanProperty.ThreadBoundGetter

Accesses the ThreadBound state of the property as a getter

class ThreadManagedMetaBeanProperty.ThreadBoundSetter

Sets the ThreadBound state of the property like a setter

 
Field Summary
 
Fields inherited from class MetaProperty
name, type
 
Constructor Summary
ThreadManagedMetaBeanProperty(Class declaringClass, String name, Class type, Object iv)

Constructs a new ThreadManagedBeanProperty for the given arguments

ThreadManagedMetaBeanProperty(Class declaringClass, String name, Class type, Closure initialValueCreator)

Constructs a new ThreadManagedBeanProperty for the given arguments

 
Method Summary
MetaMethod getGetter()

Object getInitialValue()

Retrieves the initial value of the ThreadBound property

Object getInitialValue(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, setGetter, setProperty, setSetter
 
Methods inherited from class MetaProperty
getGetterName, getModifiers, getName, getProperty, getSetterName, getType, setProperty
 
Methods inherited from class Object
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll
 

Constructor Detail

ThreadManagedMetaBeanProperty

public ThreadManagedMetaBeanProperty(Class declaringClass, String name, Class type, Object iv)
Constructs a new ThreadManagedBeanProperty for the given arguments
param:
declaringClass The class that declares the property
param:
name The name of the property
param:
type The type of the property
param:
iv The properties initial value


ThreadManagedMetaBeanProperty

public ThreadManagedMetaBeanProperty(Class declaringClass, String name, Class type, Closure initialValueCreator)
Constructs a new ThreadManagedBeanProperty for the given arguments
param:
declaringClass The class that declares the property
param:
name The name of the property
param:
type The type of the property
param:
initialValueCreator The closure responsible for creating the initial value


 
Method Detail

getGetter

public MetaMethod getGetter()


getInitialValue

public Object getInitialValue()
Retrieves the initial value of the ThreadBound property
return:
The initial value


getInitialValue

public Object getInitialValue(Object object)


getSetter

public MetaMethod getSetter()


setInitialValueCreator

public void setInitialValueCreator(Closure callable)
Closure responsible for creating the initial value of thread-managed bean properties
param:
callable The closure responsible for creating the initial value


 

Copyright © 2003-2009 The Codehaus. All rights reserved.