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 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, setProperties
fireDestroyedState, force, getStateChanger, hardReset, iconHelper, isStop, onStop, run, sleep, softReset, stateHandler, stop
configure, getName, logger, logger, loggerName, save, setName, toString
addIconListener, addPropertyChangeListener, addStateListener, configure, destroy, firePropertyChange, iconForId, initialise, lastStateEvent, onConfigured, onInitialised, removeIconListener, removePropertyChangeListener, removeStateListener, save, setArooaSession
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addStateListener, lastStateEvent, removeStateListener
public void setArooaContext(ArooaContext context)
setArooaContext
in interface ArooaContextAware
setArooaContext
in class PropertiesJobBase
protected ArooaSession getArooaSession()
BaseComponent
getArooaSession
in class BaseComponent
protected void createPropertyLookup()
createPropertyLookup
in class PropertiesJobBase
protected PropertyLookup getLookup()
PropertiesJobBase
getLookup
in class PropertiesJobBase
protected int execute() throws java.io.IOException, ArooaConversionException
SimpleJob
execute
in class SimpleJob
java.io.IOException
ArooaConversionException
public java.util.Map<java.lang.String,java.lang.String> describe()
Describable
describe
in interface Describable
protected void onReset()
SimpleJob
onReset
in class PropertiesJobBase
public 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()
PropertiesJobBase
isOverride
in class PropertiesJobBase
public void setOverride(boolean override)
Property: override
Description: Properties of this job will override any previously set.
Required: No. Default is false.