wt.series
Class MultilevelSeries

java.lang.Object
  extended by wt.series.Series
      extended by wt.series.MultilevelSeries
All Implemented Interfaces:
Externalizable, Serializable, Cloneable, NetFactor, ObjectMappable
Direct Known Subclasses:
HarvardSeries

public abstract class MultilevelSeries
extends Series
implements Externalizable

Defines a sequencing model of a multilevel series where each level is of another subclassed simple (non-multilevel) series.

For example, this series could be 3 levels deep where the first level may be an integer series, and the second and third a character series. Thus, level one would produce increments like 1, 2, 3, etc. Levels two and three would produce increments like A, B, C, etc.



Supported API: true

Extendable: true

See Also:
Serialized Form

Field Summary
static String DEPTH
          Label for the attribute; The maximum depth of levels the series can nest.
static String LEVEL
          Label for the attribute; The current level within a series that marks the depth.
static String SUBSERIES
          Label for the attribute; The one or more subseries that constitute each level of the series.
 
Fields inherited from class wt.series.Series
VALUE
 
Method Summary
 void decrement()
          Decrements the subvalue at the current level within the series to the next adjacent value.
 boolean equals(Series object)
          Tests if the subvalue at the current level within this series is equal to the subvalue at the current level within given one and returns true.
static Integer getDepth()
          Gets the value of the attribute: DEPTH.
 Integer getLevel()
          Gets the value of the attribute: LEVEL.
static String[] getSubseries()
          Gets the value of the attribute: SUBSERIES.
 Series getSubvalue()
          Gets the subvalue at the current level within the series.
 boolean greaterThan(Series object)
          Tests if the subvalue at the current level within this series is greater than to the subvalue at the current level within given one and returns true.
 void increment()
          Increments the subvalue at the current level within the series to the next adjacent value.
 boolean lessThan(Series object)
          Tests if the subvalue at the current level within this series is less than to the subvalue at the current level within given one and returns true.
static MultilevelSeries newMultilevelSeries(String userClassName)
          Makes a new instance where the value is set to the given array of series.
static MultilevelSeries newMultilevelSeries(String userClassName, String value)
          Makes a new instance where the value is set to the given value.
static MultilevelSeries newMultilevelSeries(String userClassName, String value, Integer level)
          Makes a new instance where the value is set to the given value and level.
 void reset()
          Resets the subvalue at the current level within the series to its min.
protected static void setDepth(Integer a_Depth)
          Sets the value of the attribute: DEPTH.
protected  void setLevel(Integer a_Level)
          Sets the value of the attribute: LEVEL.
protected static void setSubseries(String[] a_Subseries)
          Sets the value of the attribute: SUBSERIES.
protected  void setSubvalue(Series aValue)
          Sets the subvalue at the current level within the series.
 void setValueWithValidation(String a_Value, Integer a_Level)
          Sets the series value and level with validation.
 void toLeft()
          Moves the current level one to the left.
 void toRight()
          Moves the current level one to the right.
 
Methods inherited from class wt.series.Series
getUniqueSeriesName, getValue, newSeries, newSeries
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DEPTH

public static final String DEPTH
Label for the attribute; The maximum depth of levels the series can nest.

Supported API: true

See Also:
Constant Field Values

SUBSERIES

public static final String SUBSERIES
Label for the attribute; The one or more subseries that constitute each level of the series.

Supported API: true

See Also:
Constant Field Values

LEVEL

public static final String LEVEL
Label for the attribute; The current level within a series that marks the depth.

Supported API: true

See Also:
Constant Field Values
Method Detail

getDepth

public static Integer getDepth()
Gets the value of the attribute: DEPTH. The maximum depth of levels the series can nest.

Supported API: true

Returns:
Integer

setDepth

protected static void setDepth(Integer a_Depth)
                        throws WTPropertyVetoException
Sets the value of the attribute: DEPTH. The maximum depth of levels the series can nest.

Supported API: true

Parameters:
a_Depth -
Throws:
WTPropertyVetoException

getSubseries

public static String[] getSubseries()
Gets the value of the attribute: SUBSERIES. The one or more subseries that constitute each level of the series.

Supported API: true

Returns:
String[]

setSubseries

protected static void setSubseries(String[] a_Subseries)
                            throws WTPropertyVetoException
Sets the value of the attribute: SUBSERIES. The one or more subseries that constitute each level of the series.

Supported API: true

Parameters:
a_Subseries -
Throws:
WTPropertyVetoException

getLevel

public Integer getLevel()
Gets the value of the attribute: LEVEL. The current level within a series that marks the depth.

Supported API: true

Returns:
Integer

setLevel

protected void setLevel(Integer a_Level)
Sets the value of the attribute: LEVEL. The current level within a series that marks the depth.

Supported API: true

Parameters:
a_Level -

newMultilevelSeries

public static final MultilevelSeries newMultilevelSeries(String userClassName)
                                                  throws SeriesException
Makes a new instance where the value is set to the given array of series.

Supported API: true

Parameters:
userClassName -
Returns:
MultilevelSeries
Throws:
SeriesException

newMultilevelSeries

public static final MultilevelSeries newMultilevelSeries(String userClassName,
                                                         String value)
                                                  throws SeriesException
Makes a new instance where the value is set to the given value.

Supported API: true

Parameters:
userClassName -
value -
Returns:
MultilevelSeries
Throws:
SeriesException

newMultilevelSeries

public static final MultilevelSeries newMultilevelSeries(String userClassName,
                                                         String value,
                                                         Integer level)
                                                  throws SeriesException
Makes a new instance where the value is set to the given value and level.

Supported API: true

Parameters:
userClassName -
value -
level -
Returns:
MultilevelSeries
Throws:
SeriesException

reset

public void reset()
           throws SeriesException,
                  WTPropertyVetoException
Resets the subvalue at the current level within the series to its min.

Supported API: true

Specified by:
reset in class Series
Throws:
SeriesException
WTPropertyVetoException

increment

public void increment()
               throws SeriesException,
                      WTPropertyVetoException
Increments the subvalue at the current level within the series to the next adjacent value.

Supported API: true

Specified by:
increment in class Series
Throws:
SeriesException
WTPropertyVetoException

decrement

public void decrement()
               throws SeriesException,
                      WTPropertyVetoException
Decrements the subvalue at the current level within the series to the next adjacent value.

Supported API: true

Specified by:
decrement in class Series
Throws:
SeriesException
WTPropertyVetoException

equals

public boolean equals(Series object)
Tests if the subvalue at the current level within this series is equal to the subvalue at the current level within given one and returns true. Otherwise, returns false.

Supported API: true

Specified by:
equals in class Series
Parameters:
object -
Returns:
boolean

lessThan

public boolean lessThan(Series object)
Tests if the subvalue at the current level within this series is less than to the subvalue at the current level within given one and returns true. Otherwise, returns false.

Supported API: true

Specified by:
lessThan in class Series
Parameters:
object -
Returns:
boolean

greaterThan

public boolean greaterThan(Series object)
Tests if the subvalue at the current level within this series is greater than to the subvalue at the current level within given one and returns true. Otherwise, returns false.

Supported API: true

Specified by:
greaterThan in class Series
Parameters:
object -
Returns:
boolean

toLeft

public void toLeft()
            throws SeriesException,
                   WTPropertyVetoException
Moves the current level one to the left.

Supported API: true

Throws:
SeriesException
WTPropertyVetoException

toRight

public void toRight()
             throws SeriesException,
                    WTPropertyVetoException
Moves the current level one to the right.

Supported API: true

Throws:
SeriesException
WTPropertyVetoException

getSubvalue

public Series getSubvalue()
                   throws SeriesException,
                          WTPropertyVetoException
Gets the subvalue at the current level within the series.

Supported API: true

Returns:
Series
Throws:
SeriesException
WTPropertyVetoException

setSubvalue

protected void setSubvalue(Series aValue)
                    throws WTPropertyVetoException
Sets the subvalue at the current level within the series.

Supported API: true

Parameters:
aValue -
Throws:
WTPropertyVetoException

setValueWithValidation

public void setValueWithValidation(String a_Value,
                                   Integer a_Level)
                            throws wt.series.SeriesVersionSchemeMismatchException,
                                   WTPropertyVetoException
Sets the series value and level with validation. For example we want to set the value of version label to "B" at level 1. The revision scheme is set to IntegerSeries at level 1, This API will throw a SeriesRevisionSchemeMismatchException.

Supported API: true

Parameters:
a_Value -
a_Level -
Throws:
wt.series.SeriesVersionSchemeMismatchException
WTPropertyVetoException