Class Property
- All Implemented Interfaces:
- Cloneable
Sets a property by name, or set of properties (from file or resource) in the project.
Properties are immutable: whoever sets a property first freezes it for the rest of the build; they are most definitely not variable.
There are seven ways to set properties:
- By supplying both the name and value attribute.
- By supplying the name and nested text.
- By supplying both the name and refid attribute.
- By setting the file attribute with the filename of the property file to load. This property file has the format as defined by the file used in the class java.util.Properties.
- By setting the url attribute with the url from which to load the properties. This url must be directed to a file that has the format as defined by the file used in the class java.util.Properties.
- By setting the resource attribute with the resource name of the property file to load. This property file has the format as defined by the file used in the class java.util.Properties.
- By setting the environment attribute with a prefix to use. Properties will be defined for every environment variable by prefixing the supplied name and a period to the name of the variable.
- By setting the runtime attribute with a prefix to use.
     Properties prefix.availableProcessors,prefix.freeMemory,prefix.totalMemoryandprefix.maxMemorywill be defined with values that correspond to the corresponding methods of theRuntimeclass.
Although combinations of these ways are possible, only one should be used at a time. Problems might occur with the order in which properties are set, for instance.
The value part of the properties being set, might contain references to other properties. These references are resolved at the time these properties are set. This also holds for properties loaded from a property file.
Properties are case sensitive.- Since:
- Ant 1.1
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected Pathprotected Stringprotected Fileprotected Stringprotected Stringprotected Referenceprotected Stringprotected URLprotected booleanprotected StringFields inherited from class org.apache.tools.ant.ProjectComponentdescription, location, project
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidaddProperties(Properties props) iterate through a set of properties, resolve them then assign themprotected voidaddProperty(String n, Object v) add a name value pair to the project property setprotected voidaddProperty(String n, String v) add a name value pair to the project property setvoidSet a (multiline) property as nested text.The classpath to use when looking up a resource.voidexecute()set the property in the project to the value.Get the classpath used when looking up a resource.Get the environment attribute.getFile()Get the file attribute.getName()Get the property name.Get the prefix attribute.booleanWhether to apply the prefix when expanding properties on the right hand side of a properties file as well.getRefid()Get the refid attribute.Get the resource attribute.Get the runtime attribute.getUrl()Get the url attribute.getValue()Get the property value.protected voidloadEnvironment(String prefix) load the environment valuesprotected voidload properties from a fileprotected voidloadResource(String name) load properties from a resource in the current classpathprotected voidloadRuntime(String prefix) load the runtime valuesprotected voidload properties from a urlvoidsetBasedir(File basedir) Sets 'basedir' attribute.voidsetClasspath(Path classpath) The classpath to use when looking up a resource.voidthe classpath to use when looking up a resource, given as reference to a <path> defined elsewherevoidsetEnvironment(String env) Prefix to use when retrieving environment variables.voidFilename of a property file to load.voidsetLocation(File location) Sets the property to the absolute filename of the given file.voidThe name of the property to set.voidPrefix to apply to properties loaded usingfileorresource.voidsetPrefixValues(boolean b) Whether to apply the prefix when expanding properties on the right hand side of a properties file as well.voidSets a reference to an Ant datatype declared elsewhere.voidsetRelative(boolean relative) Sets 'relative' attribute.voidsetResource(String resource) The resource name of a property file to loadvoidsetRuntime(String prefix) Prefix to use when retrieving Runtime properties.voidThe url from which to load properties.voidsetUserProperty(boolean userProperty) Deprecated.since 1.5.x.voidSet the value of the property.voidSet the value of the property as a String.toString()get the value of this propertyMethods inherited from class org.apache.tools.ant.TaskbindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeMethods inherited from class org.apache.tools.ant.ProjectComponentclone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
- 
Field Details- 
name
- 
value
- 
file
- 
url
- 
resource
- 
classpath
- 
env
- 
ref
- 
prefix
- 
userPropertyprotected boolean userProperty
 
- 
- 
Constructor Details- 
Propertypublic Property()Constructor for Property.
- 
Propertyprotected Property(boolean userProperty) Constructor for Property.- Parameters:
- userProperty- if true this is a user property
- Since:
- Ant 1.5
 
- 
PropertyConstructor for Property.- Parameters:
- userProperty- if true this is a user property
- fallback- a project to use to look for references if the reference is not in the current project
- Since:
- Ant 1.5
 
 
- 
- 
Method Details- 
setRelativepublic void setRelative(boolean relative) Sets 'relative' attribute.- Parameters:
- relative- new value
- Since:
- Ant 1.8.0
 
- 
setBasedirSets 'basedir' attribute.- Parameters:
- basedir- new value
- Since:
- Ant 1.8.0
 
- 
setNameThe name of the property to set.- Parameters:
- name- property name
 
- 
getNameGet the property name.- Returns:
- the property name
 
- 
setLocationSets the property to the absolute filename of the given file. If the value of this attribute is an absolute path, it is left unchanged (with / and \ characters converted to the current platforms conventions). Otherwise it is taken as a path relative to the project's basedir and expanded.- Parameters:
- location- path to set
 
- 
setValueSet the value of the property.- Parameters:
- value- the value to use.
 
- 
setValueSet the value of the property as a String.- Parameters:
- value- value to assign
 
- 
addTextSet a (multiline) property as nested text.- Parameters:
- msg- the text to append to the output text
- Since:
- Ant 1.8.0
 
- 
getValueGet the property value.- Returns:
- the property value
 
- 
setFileFilename of a property file to load.- Parameters:
- file- filename
 
- 
getFileGet the file attribute.- Returns:
- the file attribute
 
- 
setUrlThe url from which to load properties.- Parameters:
- url- url string
 
- 
getUrlGet the url attribute.- Returns:
- the url attribute
 
- 
setPrefixPrefix to apply to properties loaded usingfileorresource. A "." is appended to the prefix if not specified.- Parameters:
- prefix- prefix string
- Since:
- Ant 1.5
 
- 
getPrefixGet the prefix attribute.- Returns:
- the prefix attribute
- Since:
- Ant 1.5
 
- 
setPrefixValuespublic void setPrefixValues(boolean b) Whether to apply the prefix when expanding properties on the right hand side of a properties file as well.- Parameters:
- b- boolean
- Since:
- Ant 1.8.2
 
- 
getPrefixValuespublic boolean getPrefixValues()Whether to apply the prefix when expanding properties on the right hand side of a properties file as well.- Returns:
- boolean
- Since:
- Ant 1.8.2
 
- 
setRefidSets a reference to an Ant datatype declared elsewhere. Only yields reasonable results for references PATH like structures or properties.- Parameters:
- ref- reference
 
- 
getRefidGet the refid attribute.- Returns:
- the refid attribute
 
- 
setResourceThe resource name of a property file to load- Parameters:
- resource- resource on classpath
 
- 
getResourceGet the resource attribute.- Returns:
- the resource attribute
 
- 
setEnvironmentPrefix to use when retrieving environment variables. Thus if you specify environment="myenv" you will be able to access OS-specific environment variables via property names "myenv.PATH" or "myenv.TERM".Note that if you supply a property name with a final "." it will not be doubled. ie environment="myenv." will still allow access of environment variables through "myenv.PATH" and "myenv.TERM". This functionality is currently only implemented on select platforms. Feel free to send patches to increase the number of platforms this functionality is supported on ;). Note also that properties are case sensitive, even if the environment variables on your operating system are not, e.g. it will be ${env.Path} not ${env.PATH} on Windows 2000.- Parameters:
- env- prefix
 
- 
getEnvironmentGet the environment attribute.- Returns:
- the environment attribute
- Since:
- Ant 1.5
 
- 
setRuntimePrefix to use when retrieving Runtime properties.Properties prefix.availableProcessors,prefix.freeMemory,prefix.totalMemoryandprefix.maxMemorywill be defined with values that correspond to the corresponding methods of theRuntimeclass.Note that if you supply a prefix name with a final "." it will not be doubled. ie runtime="myrt." will still allow access of property through "myrt.availableProcessors" and "myrt.freeMemory". The property values are snapshots taken at the point in time when the propertyhas been executed.- Parameters:
- prefix- prefix
- Since:
- Ant 1.10.4
 
- 
getRuntimeGet the runtime attribute.- Returns:
- the runtime attribute
- Since:
- Ant 1.10.4
 
- 
setClasspathThe classpath to use when looking up a resource.- Parameters:
- classpath- to add to any existing classpath
 
- 
createClasspathThe classpath to use when looking up a resource.- Returns:
- a path to be configured
 
- 
setClasspathRefthe classpath to use when looking up a resource, given as reference to a <path> defined elsewhere- Parameters:
- r- a reference to a classpath
 
- 
getClasspathGet the classpath used when looking up a resource.- Returns:
- the classpath
- Since:
- Ant 1.5
 
- 
setUserPropertyDeprecated.since 1.5.x. This was never a supported feature and has been deprecated without replacement.- Parameters:
- userProperty- ignored
 
- 
toStringget the value of this property
- 
executeset the property in the project to the value. if the task was give a file, resource, env or runtime attribute here is where it is loaded- Overrides:
- executein class- Task
- Throws:
- BuildException- on error
 
- 
loadUrlload properties from a url- Parameters:
- url- url to load from
- Throws:
- BuildException- on error
 
- 
loadFileload properties from a file- Parameters:
- file- file to load
- Throws:
- BuildException- on error
 
- 
loadResourceload properties from a resource in the current classpath- Parameters:
- name- name of resource to load
 
- 
loadEnvironmentload the environment values- Parameters:
- prefix- prefix to place before them
 
- 
loadRuntimeload the runtime values- Parameters:
- prefix- prefix to place before them
- Since:
- 1.10.4
 
- 
addPropertiesiterate through a set of properties, resolve them then assign them- Parameters:
- props- the properties to iterate over
 
- 
addPropertyadd a name value pair to the project property set- Parameters:
- n- name of property
- v- value to set
 
- 
addPropertyadd a name value pair to the project property set- Parameters:
- n- name of property
- v- value to set
- Since:
- Ant 1.8
 
 
-