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.