public class PropertiesJob extends PropertiesJobBase implements Describable
There are four ways to set properties:
If the substitute property is true, property values will be evaluated for substitution.
The Properties job and PropertiesType type are very similar, the difference
between them is that the job defines properties for Oddjob and the type provides
properties for configuring a single job (which could be the
sets property of the property job).
<oddjob>
<job>
<sequential>
<jobs>
<properties>
<values>
<value key="fruit.favourite" value="apple"/>
<value key="snack.favourite" value="${fruit.favourite}"/>
</values>
</properties>
<echo id="echo">$${snack.favourite} is ${snack.favourite}</echo>
</jobs>
</sequential>
</job>
</oddjob>
<oddjob>
<job>
<sequential>
<jobs>
<properties substitute="true">
<values>
<value key="fruit.favourite" value="apple"/>
<value key="snack.favourite" value="$${fruit.favourite}"/>
</values>
</properties>
<echo id="echo">$${snack.favourite} is ${snack.favourite}</echo>
</jobs>
</sequential>
</job>
</oddjob>
<oddjob>
<job>
<sequential>
<jobs>
<properties>
<input>
<resource resource="org/oddjob/values/properties/PropertiesJobTest1.properties"/>
</input>
</properties>
<echo id="echo">${someones.name}</echo>
</jobs>
</sequential>
</job>
</oddjob>
The properties file contains:
# properties for test someones.name = John Smith someones.name.title = Mr. someones.address = LondonThis will display
John Smith
<oddjob>
<job>
<sequential>
<jobs>
<properties>
<values>
<value key="fruit.favourite" value="apple"/>
</values>
</properties>
<echo id="echo1">$${fruit.favourite} is ${fruit.favourite}</echo>
<properties>
<values>
<value key="fruit.favourite" value="pear"/>
</values>
</properties>
<echo id="echo2">$${fruit.favourite} is ${fruit.favourite}</echo>
<properties override="true">
<values>
<value key="fruit.favourite" value="banana"/>
</values>
</properties>
<echo id="echo3">$${fruit.favourite} is ${fruit.favourite}</echo>
</jobs>
</sequential>
</job>
</oddjob>
This will display
${fuit.favourite} is apple
${fuit.favourite} is apple
${fuit.favourite} is banana
${env.Path} and ${env.path} would also yield the
same result. On Unix (generally) only ${env.PATH} will work.
<oddjob>
<job>
<sequential>
<jobs>
<properties id="props" environment="env"/>
<echo id="echo-path">Path is ${env.PATH}</echo>
</jobs>
</sequential>
</job>
</oddjob>
| Constructor and Description |
|---|
PropertiesJob()
Default Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
createPropertyLookup()
Adds the property lookup to the session.
|
java.util.Map<java.lang.String,java.lang.String> |
describe()
Provides the properties.
|
protected void |
doWhenDeserialized() |
protected int |
execute()
Execute this job.
|
protected ArooaSession |
getArooaSession()
Allow sub classes access the the session.
|
java.lang.String |
getEnvironment()
Getter for environment prefix.
|
java.lang.String |
getExtract()
Getter for extract.
|
protected PropertyLookup |
getLookup()
Subclasses can override the lookup.
|
java.lang.String |
getPrefix()
Getter for prefix.
|
java.util.Properties |
getSets(int index)
Indexed getter for sets.
|
boolean |
isFromXML()
Getter for fromXML.
|
boolean |
isOverride()
Are the properties override properties.
|
boolean |
isSubstitute()
Getter for substitute.
|
boolean |
isSystem()
Getter for system flag.
|
protected void |
onReset()
Allow sub classes to do something on reset.
|
void |
setArooaContext(ArooaContext context) |
void |
setEnvironment(java.lang.String environment) |
void |
setExtract(java.lang.String extract) |
void |
setFromXML(boolean fromXML) |
void |
setInput(java.io.InputStream input) |
void |
setOverride(boolean override) |
void |
setPrefix(java.lang.String prefix) |
void |
setSets(int index,
java.util.Properties props) |
void |
setSubstitute(boolean substitute) |
void |
setSystem(boolean system) |
void |
setValues(java.lang.String key,
java.lang.String value) |
addPropertyLookup, getProperties, onDestroy, onInitialised, setPropertiesfireDestroyedState, force, getStateChanger, hardReset, iconHelper, isStop, onStop, run, sleep, softReset, stateHandler, stopconfigure, getName, logger, logger, loggerName, save, setName, toStringaddIconListener, addPropertyChangeListener, addStateListener, configure, destroy, firePropertyChange, iconForId, initialise, lastStateEvent, onConfigured, removeIconListener, removePropertyChangeListener, removeStateListener, save, setArooaSessionclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddStateListener, lastStateEvent, removeStateListenerprotected void doWhenDeserialized()
doWhenDeserialized in class PropertiesJobBasepublic void setArooaContext(ArooaContext context)
setArooaContext in interface ArooaContextAwaresetArooaContext in class BaseComponentprotected ArooaSession getArooaSession()
BaseComponentgetArooaSession in class BaseComponentprotected void createPropertyLookup()
createPropertyLookup in class PropertiesJobBaseprotected PropertyLookup getLookup()
PropertiesJobBasegetLookup in class PropertiesJobBaseprotected int execute()
throws java.io.IOException,
ArooaConversionException
SimpleJobexecute in class SimpleJobjava.io.IOExceptionArooaConversionExceptionpublic java.util.Map<java.lang.String,java.lang.String> describe()
Describabledescribe in interface Describableprotected void onReset()
SimpleJobonReset in class PropertiesJobBasepublic java.lang.String getEnvironment()
public void setEnvironment(java.lang.String environment)
Property: environment
Description: The prefix for environment variables.
Required: No.
public boolean isSystem()
public void setSystem(boolean system)
Property: system
Description: Set to true to set System properties rather than Oddjob properties.
Required: No. Defaults to false
public void setInput(java.io.InputStream input)
Property: input
Description: An input source for Properties.
Required: No.
public void setFromXML(boolean fromXML)
Property: fromXML
Description: If the input for the properties is in XML format.
Required: No, default to false.
public boolean isFromXML()
public void setValues(java.lang.String key,
java.lang.String value)
Property: values
Description: Properties defined as key value pairs.
Required: No.
public void setSets(int index,
java.util.Properties props)
Property: sets
Description: Extra properties to be merged into the overall property set.
Required: No.
public java.util.Properties getSets(int index)
index - The index.public void setSubstitute(boolean substitute)
Property: substitute
Description: Use substitution for the values of ${} type properties.
Required: No.
public boolean isSubstitute()
public java.lang.String getExtract()
public void setExtract(java.lang.String extract)
Property: extract
Description: Extract this prefix form property names. Filters out properties that do not begin with this prefix.
Required: No.
public java.lang.String getPrefix()
public void setPrefix(java.lang.String prefix)
Property: prefix
Description: Append this prefix to property names.
Required: No.
public boolean isOverride()
PropertiesJobBaseisOverride in class PropertiesJobBasepublic void setOverride(boolean override)
Property: override
Description: Properties of this job will override any previously set.
Required: No. Default is false.