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:
Cloneable, Iterable<Resource>, ResourceCollection
A set of properties.
- Since:
- Ant 1.6
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classUsed for propertyref's builtin attribute.static classThis is a nested class containing a reference to some properties and optionally a source of properties. -
Field Summary
Fields inherited from class ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(FileNameMapper fileNameMapper) Add a nested FileNameMapper.voidAdd a property reference (nested element) to the references to be used.voidAdd another property set to this set.voidAllow builtin (all, system or commandline) properties in the set.voidappendName(String name) Allow properties of a particular name in the set.voidappendPrefix(String prefix) Allow properties whose names start with a prefix in the set.voidappendRegex(String regex) Allow properties whose names match a regex in the set.protected final voidEnsures this data type is not a reference.Create a mapper to map the property names.protected voiddieOnCircularReference(Stack<Object> stk, Project p) Check to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).booleanGet the dynamic attribute.Get the mapper attribute.This is the operation to get the existing or recalculated properties.protected PropertySetgetRef()Performs the check for circular references and returns the referenced PropertySet.booleanFulfill the ResourceCollection contract.iterator()Fulfill the ResourceCollection interface.voidsetDynamic(boolean dynamic) Set whether to reevaluate the set every time the set is used.voidSet a mapper to change property names.voidsetNegate(boolean negate) Set whether to negate results.final voidSets the value of the refid attribute.intsize()Fulfill the ResourceCollection contract.toString()A debug toString.Methods inherited from class DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributesModifier and TypeMethodDescriptionprotected voidcheck that it is ok to set attributes, i.e that no reference is definedprotected voidcheck that it is ok to add children, i.e that no reference is definedprotected BuildExceptionCreates an exception that indicates the user has generated a loop of data types referencing each other.clone()protected voidConvenience method.protected voidConvenience method.protected <T> TDeprecated.use getCheckedRef(Class)protected <T> TgetCheckedRef(Class<T> requiredClass) Performs the check for circular references and returns the referenced object.protected <T> TgetCheckedRef(Class<T> requiredClass, String dataTypeName) Performs the check for circular references and returns the referenced object.protected <T> TgetCheckedRef(Class<T> requiredClass, String dataTypeName, Project project) Performs the check for circular references and returns the referenced object.protected <T> TDeprecated.use getCheckedRef(Class)protected StringGets as descriptive as possible a name used for this datatype instance.getRefid()get the reference set on this objectstatic voidinvokeCircularReferenceCheck(DataType dt, Stack<Object> stk, Project p) Allow DataTypes outside org.apache.tools.ant.types to indirectly call dieOnCircularReference on nested DataTypes.protected booleanThe flag that is used to indicate that circular references have been checked.booleanHas the refid attribute of this element been set?protected BuildExceptionCreates an exception that indicates that this XML element must not have child elements if the refid attribute is set.static voidpushAndInvokeCircularReferenceCheck(DataType dt, Stack<Object> stk, Project p) Allow DataTypes outside org.apache.tools.ant.types to indirectly call dieOnCircularReference on nested DataTypes.protected voidsetChecked(boolean checked) Set the flag that is used to indicate that circular references have been checked.protected BuildExceptionCreates an exception that indicates that refid has to be the only attribute if it is set.Methods inherited from class ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProjectModifier and TypeMethodDescriptionReturns the description of the current action.Returns the file/location where this task was defined.Returns the project to which this component belongs.voidLogs a message with the default (INFO) priority.voidLogs a message with the given priority.voidsetDescription(String desc) Sets a description of the current action.voidsetLocation(Location location) Sets the file/location where this task was defined.voidsetProject(Project project) Sets the project object of this component.Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Iterable
forEach, spliteratorMethods inherited from interface ResourceCollection
isEmpty, streamModifier and TypeMethodDescriptiondefault booleanisEmpty()Learn whether thisResourceCollectionis empty.stream()Return aStreamover thisResourceCollection.
-
Constructor Details
-
PropertySet
public PropertySet()
-
-
Method Details
-
appendName
Allow properties of a particular name in the set.- Parameters:
name- the property name to allow.
-
appendRegex
Allow properties whose names match a regex in the set.- Parameters:
regex- the regular expression to use.
-
appendPrefix
Allow properties whose names start with a prefix in the set.- Parameters:
prefix- the prefix to use.
-
appendBuiltin
Allow builtin (all, system or commandline) properties in the set.- Parameters:
b- the type of builtin properties.
-
setMapper
-
addPropertyref
Add a property reference (nested element) to the references to be used.- Parameters:
ref- a property reference.
-
addPropertyset
Add another property set to this set.- Parameters:
ref- another property set.
-
createMapper
Create a mapper to map the property names.- Returns:
- a mapper to be configured.
-
add
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 every time 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 evaluated each time it is used.
-
getMapper
-
getProperties
This is the operation to get the existing or recalculated properties.- Returns:
- the properties for this propertyset.
-
getRef
Performs the check for circular references and returns the referenced PropertySet.- Returns:
- the referenced PropertySet.
-
setRefid
Sets the value of the refid attribute.- Overrides:
setRefidin classDataType- 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
-
iterator
-
size
public int size()Fulfill the ResourceCollection contract.- Specified by:
sizein interfaceResourceCollection- Returns:
- the size of this ResourceCollection.
-
isFilesystemOnly
public boolean isFilesystemOnly()Fulfill the ResourceCollection contract.- Specified by:
isFilesystemOnlyin interfaceResourceCollection- Returns:
- whether this is a filesystem-only resource collection.
-
dieOnCircularReference
Description copied from class:DataTypeCheck to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).If one is included, throw a BuildException created by
circularReference.This implementation is appropriate only for a DataType that cannot hold other DataTypes as children.
The general contract of this method is that it shouldn't do anything if
DataType.checkedis true and set it to true on exit.- Overrides:
dieOnCircularReferencein classDataType- Parameters:
stk- the stack of references to check.p- the project to use to dereference the references.- Throws:
BuildException- on error.
-