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.