Package org.apache.tools.ant.property

# Class LocalProperties

java.lang.Object
java.lang.ThreadLocal<LocalPropertyStack>
java.lang.InheritableThreadLocal<LocalPropertyStack>
org.apache.tools.ant.property.LocalProperties

All Implemented Interfaces:
  `PropertyHelper.Delegate`, `PropertyHelper.PropertyEnumerator`, `PropertyHelper.PropertyEvaluator`, `PropertyHelper.PropertySetter`

public class LocalProperties extends InheritableThreadLocal<LocalPropertyStack> implements PropertyHelper.PropertyEvaluator, PropertyHelper.PropertySetter, PropertyHelper.PropertyEnumerator
Thread local class containing local properties.

Since:
  Ant 1.8.0

## Method Summary

Modifier and Type
Method
Description
`void`
`addLocal(String property)`
Add a local property to the current scope.
`void`
`copy()`
Copy the stack for a parallel thread.
`void`
`enterScope()`
enter the scope
`Object`
`evaluate(String property, PropertyHelper helper)`
Evaluate a property.
`void`
`exitScope()`
exit the scope
`static LocalProperties`
`get(Project project)`
Get a localproperties for the given project.
`Set<String>`
`getPropertyNames()`
Returns the names of all properties known to this delegate.
`protected LocalPropertyStack`
`initialValue()`
Get the initial value.
`boolean`
`set(String property, Object value, PropertyHelper propertyHelper)`
Set a property.
`boolean`
`setNew(String property, 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, withInitial`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### 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 `ThreadLocal<LocalPropertyStack>`
Returns:
  a new localproperties stack.

### addLocal

public void addLocal(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 Object evaluate(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(String property, 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(String property, 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.

### getPropertyNames

public Set<String> getPropertyNames()
Description copied from interface: `PropertyHelper.PropertyEnumerator`
Returns the names of all properties known to this delegate.

Specified by:
  `getPropertyNames` in interface `PropertyHelper.PropertyEnumerator`
Returns:
  the names of all properties known to this delegate.