net.sourceforge.cruisecontrol.labelincrementers
Class DefaultLabelIncrementer
java.lang.Object
net.sourceforge.cruisecontrol.labelincrementers.DefaultLabelIncrementer
- All Implemented Interfaces:
- LabelIncrementer, java.io.Serializable
- Direct Known Subclasses:
- CVSLabelIncrementer
- public class DefaultLabelIncrementer
- extends java.lang.Object
- implements LabelIncrementer
This class provides a default label incrementation.
This class expects the label format to be "xy",
where x is any String and y is an integer and a separator.
The default separator is "." and can be modified using setSeparator(java.lang.String)
.
- Author:
- alden almagro, Paul Julius
- See Also:
- Serialized Form
Method Summary |
java.lang.String |
getDefaultLabel()
The instance must be fully initialized before calling this method. |
java.lang.String |
incrementLabel(java.lang.String oldLabel,
org.jdom.Element buildLog)
Increments the label when a successful build occurs.
|
boolean |
isPreBuildIncrementer()
Some implementations of LabelIncrementer , such as those involving
dates, are better suited to being incremented before building rather
than after building. |
boolean |
isValidLabel(java.lang.String label)
Verify that the label specified is a valid label. |
void |
setDefaultLabel(java.lang.String label)
|
void |
setPreBuildIncrementer(boolean preInc)
Set the pre/post behavior of the label incrementer. |
void |
setSeparator(java.lang.String newSeparator)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DefaultLabelIncrementer
public DefaultLabelIncrementer()
incrementLabel
public java.lang.String incrementLabel(java.lang.String oldLabel,
org.jdom.Element buildLog)
- Increments the label when a successful build occurs.
Assumes that the label will be in
the format of "x.y", where x can be anything, and y is an integer.
The y value will be incremented by one, the rest will remain the same.
- Specified by:
incrementLabel
in interface LabelIncrementer
- Parameters:
oldLabel
- Label from previous successful build.buildLog
- JDOM Element
representation of the build.
- Returns:
- Label to use for most recent successful build.
isPreBuildIncrementer
public boolean isPreBuildIncrementer()
- Description copied from interface:
LabelIncrementer
- Some implementations of
LabelIncrementer
, such as those involving
dates, are better suited to being incremented before building rather
than after building. This method determines whether to increment before
building or after building.
- Specified by:
isPreBuildIncrementer
in interface LabelIncrementer
setPreBuildIncrementer
public void setPreBuildIncrementer(boolean preInc)
- Set the pre/post behavior of the label incrementer.
isValidLabel
public boolean isValidLabel(java.lang.String label)
- Verify that the label specified is a valid label. In this case a valid
label contains at least one separator character, and an integer after the last
occurrence of the separator character.
- Specified by:
isValidLabel
in interface LabelIncrementer
- Parameters:
label
- user-supplied label
- Returns:
- true if it is a valid label.
setSeparator
public void setSeparator(java.lang.String newSeparator)
getDefaultLabel
public java.lang.String getDefaultLabel()
- The instance must be fully initialized before calling this method.
- Specified by:
getDefaultLabel
in interface LabelIncrementer
- Returns:
- defaultLabel
- Throws:
java.lang.IllegalStateException
- if the instance is not properly initialized
e.g. if the set separator
doesn't match the
set default label
setDefaultLabel
public void setDefaultLabel(java.lang.String label)