Package org.apache.tools.ant.property

# Class LocalProperties

java.lang.Object
java.lang.ThreadLocal<T>
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 java.lang.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​(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.
`java.util.Set<java.lang.String>` | `getPropertyNames()` | Returns the names of all properties known to this delegate.
`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, 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 `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.

### getPropertyNames

public java.util.Set<java.lang.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.