Package org.apache.tools.ant.property
Class ParseProperties
java.lang.Object
org.apache.tools.ant.property.ParseProperties
- All Implemented Interfaces:
ParseNextProperty
Parse properties using a collection of expanders.
- Since:
- Ant 1.8.0
-
Constructor Summary
ConstructorDescriptionParseProperties
(Project project, Collection<PropertyExpander> expanders, GetProperty getProperty) Constructor with a getProperty. -
Method Summary
Modifier and TypeMethodDescriptionboolean
containsProperties
(String value) Learn whether a String contains replaceable properties.Get the project.parseNextProperty
(String value, ParsePosition pos) Return any property that can be parsed from the specified position in the specified String.parseProperties
(String value) Decode properties from a String representation.
-
Constructor Details
-
ParseProperties
public ParseProperties(Project project, Collection<PropertyExpander> expanders, GetProperty getProperty) Constructor with a getProperty.- Parameters:
project
- the current Ant project.expanders
- a sequence of expandersgetProperty
- property resolver.
-
-
Method Details
-
getProject
Get the project.- Specified by:
getProject
in interfaceParseNextProperty
- Returns:
- the current Ant project.
-
parseProperties
Decode properties from a String representation.- This implementation starts parsing the
value
parameter (unsurprisingly) at the beginning and asks eachPropertyExpander
whether there is a property reference at that point. PropertyExpanders return the name of a property they may find and may advance the parse position. - If the PropertyExpander returns
null
the method continues with the next PropertyExpander, otherwise it tries to look up the property's value using the configuredGetProperty
instance. - Once all PropertyExpanders have been consulted, the parse
position is advanced by one character and the process repeated
until
value
is exhausted.
If the entire contents of
value
resolves to a single property, the looked up property value is returned. Otherwise a String is returned that concatenates the non-property parts ofvalue
and the expanded values of the properties that have been found.- Parameters:
value
- The string to be scanned for property references. May benull
, in which case this method returns immediately with no effect.- Returns:
- the original string with the properties replaced, or
null
if the original string isnull
.
- This implementation starts parsing the
-
containsProperties
Learn whether a String contains replaceable properties.Uses the configured
PropertyExpanders
and scans through the string. Returns true as soon as any expander finds a property.- Parameters:
value
- the String to check.- Returns:
true
ifvalue
contains property notation.
-
parseNextProperty
Return any property that can be parsed from the specified position in the specified String.Uses the configured
PropertyExpanders
andGetProperty
instance .- Specified by:
parseNextProperty
in interfaceParseNextProperty
- Parameters:
value
- String to parsepos
- ParsePosition- Returns:
- Object or null if no property is at the current location. If a property reference has been found but the property doesn't expand to a value, the property's name is returned.
-