## org.apache.tools.ant.types
Class PropertySet

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.types.DataType
              org.apache.tools.ant.types.PropertySet

All Implemented Interfaces:
  java.lang.Cloneable, ResourceCollection

    public class PropertySet

extends DataType
implements ResourceCollection

A set of properties.

Since:
  Ant 1.6

Nested Class Summary
`static class` `PropertySet.BuiltinPropertySetName` Used for propertyref's builtin attribute.
`static class` `PropertySet.PropertyRef` This is a nested class containing a reference to some properties and optionally a source of properties.

Field Summary

Fields inherited from class org.apache.tools.ant.types.DataType
`checked, ref`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`description, location, project`

Constructor Summary
`PropertySet()`

Method Summary
`void` `add(FileNameMapper fileNameMapper)` Add a nested FileNameMapper.
`void` `addPropertyref(PropertySet.PropertyRef ref)` Add a property reference (nested element) to the references to be used.
`void` `addPropertyset(PropertySet ref)` Add another property set to this set.
`void` `appendBuiltin(PropertySet.BuiltinPropertySetName b)` Allow builtin (all, system or commandline) properties in the set.
`void` `appendName(java.lang.String name)` Allow properties of a particular name in the set.
`void` `appendPrefix(java.lang.String prefix)` Allow properties whose names start with a prefix in the set.
`void` `appendRegex(java.lang.String regex)` Allow properties whose names match a regex in the set.
`protected void` `assertNotReference()` Ensures this data type is not a reference.
`Mapper` `createMapper()` Create a mapper to map the property names.
`boolean` `getDynamic()` Get the dynamic attribute.
`Mapper` `getMapper()` Get the mapper attribute.
`java.util.Properties` `getProperties()` This is the operation to get the existing or recalculated properties.
`protected PropertySet` `getRef()` Performs the check for circular references and returns the referenced PropertySet.
`boolean` `isFilesystemOnly()` Fulfill the ResourceCollection contract.
`java.util.Iterator` `iterator()` Fulfill the ResourceCollection interface.
`void` `setDynamic(boolean dynamic)` Set whether to reevaluate the set everytime the set is used.
`void` `setMapper(java.lang.String type, java.lang.String from, java.lang.String to)` Set a mapper to change property names.
`void` `setNegate(boolean negate)` Set whether to negate results.
`void` `setRefid(Reference r)` Sets the value of the refid attribute.
`int` `size()` Fulfill the ResourceCollection contract.
`java.lang.String` `toString()` A debug toString.

Methods inherited from class org.apache.tools.ant.types.DataType
`checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, setChecked, tooManyAttributes`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### PropertySet

    public PropertySet()

Method Detail

### appendName

    public void appendName(java.lang.String name)

  Allow properties of a particular name in the set.

  Parameters:
    `name` - the property name to allow.

### appendRegex

    public void appendRegex(java.lang.String regex)

  Allow properties whose names match a regex in the set.

  Parameters:
    `regex` - the regular expression to use.

### appendPrefix

    public void appendPrefix(java.lang.String prefix)

  Allow properties whose names start with a prefix in the set.

  Parameters:
    `prefix` - the prefix to use.

### appendBuiltin

    public void appendBuiltin(PropertySet.BuiltinPropertySetName b)

  Allow builtin (all, system or commandline) properties in the set.

  Parameters:
    `b` - the type of builtin properties.

### setMapper

    public void setMapper(java.lang.String type,
                          java.lang.String from,
                          java.lang.String to)

  Set a mapper to change property names.

  Parameters:
    `type` - mapper type.
    `from` - source pattern.
    `to` - output pattern.

### addPropertyref

    public void addPropertyref(PropertySet.PropertyRef ref)

  Add a property reference (nested element) to the references to be used.

  Parameters:
    `ref` - a property reference.

### addPropertyset

    public void addPropertyset(PropertySet ref)

  Add another property set to this set.

  Parameters:
    `ref` - another property set.

### createMapper

    public Mapper createMapper()

  Create a mapper to map the property names.

  Returns:
    a mapper to be configured.

### add

    public void add(FileNameMapper fileNameMapper)

  Add a nested FileNameMapper.

  Parameters:
    `fileNameMapper` - the mapper to add.
  Since:
    Ant 1.6.3

### setDynamic

    public void setDynamic(boolean dynamic)

  Set whether to reevaluate the set everytime the set is used. Default is true.

  Parameters:
    `dynamic` - if true, reevaluate the property set each time the set is used. if false cache the property set the first time and use the cached set on subsequent occasions.

### setNegate

    public void setNegate(boolean negate)

  Set whether to negate results. If "true", all properties not selected by nested elements will be returned. Default is "false".

  Parameters:
    `negate` - if true, negate the selection criteria.

### getDynamic

    public boolean getDynamic()

  Get the dynamic attribute.

  Returns:
    true if the property set is to be evalulated each time it is used.

### getMapper

    public Mapper getMapper()

  Get the mapper attribute.

  Returns:
    the mapper attribute.

### getProperties

    public java.util.Properties getProperties()

  This is the operation to get the existing or recalculated properties.

  Returns:
    the properties for this propertyset.

### getRef

    protected PropertySet getRef()

  Performs the check for circular references and returns the referenced PropertySet.

  Returns:
    the referenced PropertySet.

### setRefid

    public final void setRefid(Reference r)

  Sets the value of the refid attribute.

  Overrides:
    `setRefid` in class `DataType`
  Parameters:
    `r` - the reference this datatype should point to.
  Throws:
    `BuildException` - if another attribute was set, since refid and all other attributes are mutually exclusive.

### assertNotReference

    protected final void assertNotReference()

  Ensures this data type is not a reference.

  Calling this method as the first line of every bean method of this data type (setXyz, addXyz, createXyz) ensure proper handling of the refid attribute.

  Throws:
    `BuildException` - if the refid attribute was already set, since refid and all other attributes are mutually exclusive.

### toString

    public java.lang.String toString()

  A debug toString. This gets a comma separated list of key=value pairs for the properties in the set. The output order is sorted according to the keys' natural order.

  Overrides:
    `toString` in class `DataType`
  Returns:
    a string rep of this object.

### iterator

    public java.util.Iterator iterator()

  Fulfill the ResourceCollection interface.

  Specified by:
    `iterator` in interface `ResourceCollection`
  Returns:
    an Iterator of Resources.
  Since:
    Ant 1.7

### size

    public int size()

  Fulfill the ResourceCollection contract.

  Specified by:
    `size` in interface `ResourceCollection`
  Returns:
    the size of this ResourceCollection.

### isFilesystemOnly

    public boolean isFilesystemOnly()

  Fulfill the ResourceCollection contract.

  Specified by:
    `isFilesystemOnly` in interface `ResourceCollection`
  Returns:
    whether this is a filesystem-only resource collection.