org.apache.tools.ant.property
Class LocalProperties

java.lang.Object
  extended by java.lang.ThreadLocal<T>
      extended by java.lang.InheritableThreadLocal<LocalPropertyStack>
          extended by org.apache.tools.ant.property.LocalProperties
All Implemented Interfaces:
PropertyHelper.Delegate, PropertyHelper.PropertyEvaluator, PropertyHelper.PropertySetter

public class LocalProperties
extends java.lang.InheritableThreadLocal<LocalPropertyStack>
implements PropertyHelper.PropertyEvaluator, PropertyHelper.PropertySetter

Thread local class containing local properties.

Since:
Ant 1.8.0

Method Summary
 void addLocal(java.lang.String property)
          Add a local property to the current scope.
 void copy()
          Copy the stack for a parallel thread.
 void enterScope()
          enter the scope
 java.lang.Object evaluate(java.lang.String property, PropertyHelper helper)
          Evaluate a property.
 void exitScope()
          exit the scope
static LocalProperties get(Project project)
          Get a localproperties for the given project.
protected  LocalPropertyStack initialValue()
          Get the initial value.
 boolean set(java.lang.String property, java.lang.Object value, PropertyHelper propertyHelper)
          Set a property.
 boolean setNew(java.lang.String property, java.lang.Object value, PropertyHelper propertyHelper)
          Set a *new" property.
 
Methods inherited from class java.lang.InheritableThreadLocal
childValue
 
Methods inherited from class java.lang.ThreadLocal
get, remove, set
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

get

public static LocalProperties get(Project project)
Get a localproperties for the given project.

Parameters:
project - the project to retrieve the localproperties for.
Returns:
the localproperties.

initialValue

protected LocalPropertyStack initialValue()
Get the initial value.

Overrides:
initialValue in class java.lang.ThreadLocal<LocalPropertyStack>
Returns:
a new localproperties stack.

addLocal

public void addLocal(java.lang.String property)
Add a local property to the current scope.

Parameters:
property - the property name to add.

enterScope

public void enterScope()
enter the scope


exitScope

public void exitScope()
exit the scope


copy

public void copy()
Copy the stack for a parallel thread. To be called from the parallel thread itself.


evaluate

public java.lang.Object evaluate(java.lang.String property,
                                 PropertyHelper helper)
Evaluate a property.

Specified by:
evaluate in interface PropertyHelper.PropertyEvaluator
Parameters:
property - the property's String "identifier".
helper - the invoking PropertyHelper.
Returns:
Object value.

setNew

public boolean setNew(java.lang.String property,
                      java.lang.Object value,
                      PropertyHelper propertyHelper)
Set a *new" property.

Specified by:
setNew in interface PropertyHelper.PropertySetter
Parameters:
property - the property's String "identifier".
value - the value to set.
propertyHelper - the invoking PropertyHelper.
Returns:
true if this entity 'owns' the property.

set

public boolean set(java.lang.String property,
                   java.lang.Object value,
                   PropertyHelper propertyHelper)
Set a property.

Specified by:
set in interface PropertyHelper.PropertySetter
Parameters:
property - the property's String "identifier".
value - the value to set.
propertyHelper - the invoking PropertyHelper.
Returns:
true if this entity 'owns' the property.