de.jstacs.data
Class AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet

java.lang.Object
  extended by de.jstacs.parameters.ParameterSet
      extended by de.jstacs.parameters.ExpandableParameterSet
          extended by de.jstacs.data.AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet
All Implemented Interfaces:
RangeIterator, Storable, Cloneable
Enclosing class:
AlphabetContainerParameterSet

public static class AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet
extends ExpandableParameterSet

Class for the parameters of an array of Alphabets where each alphabet may be used for one or more sections of positions.

Author:
Jan Grau

Nested Class Summary
 
Nested classes/interfaces inherited from class de.jstacs.parameters.ParameterSet
ParameterSet.ParameterList
 
Field Summary
 
Fields inherited from class de.jstacs.parameters.ExpandableParameterSet
commentTemplate, nameTemplate, template
 
Fields inherited from class de.jstacs.parameters.ParameterSet
errorMessage, parameters, parent, ranged
 
Constructor Summary
AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet(Alphabet[] alphabets, int[] indexes)
          Creates a new AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet from an array of Alphabets, an array of indexes that define the index of the Alphabet in alphabets belonging to that position in indexes and a parameter if the alphabets may be discrete only.
AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet(AlphabetContainer.AlphabetContainerType type)
          Creates a new AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet for a set of discrete or continuous alphabets.
AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet(StringBuffer representation)
          Creates a new AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet from its XML representation.
 
Method Summary
 AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet clone()
          Creates a full clone (deep copy) of this ParameterSet.
 void fromXML(StringBuffer representation)
          Parses the instance fields of a ParameterSet from the XML-representation as returned by ParameterSet.toXML().
 String getInstanceComment()
          Returns a descriptive comment on this ParameterSet.
 String getInstanceName()
          Returns a descriptive name for this ParameterSet.
 boolean hasDefaultOrIsSet()
          Returns true if all parameters in this ParameterSet are either set by the user or have default values.
protected  void loadParameters()
          Loads the parameters for this ParameterSet.
static LinkedList<Integer> parseSections(String sections)
          Parses the sections as defined in sections to a list of Integers.
 StringBuffer toXML()
          This method returns an XML-representation of an instance of the implementing class.
 
Methods inherited from class de.jstacs.parameters.ExpandableParameterSet
addParameterToSet, parameterRemovable, removeParameterFromSet, replaceContentWith, replaceParametersWithRangedInstance
 
Methods inherited from class de.jstacs.parameters.ParameterSet
getErrorMessage, getId, getNumberOfParameters, getNumberOfValues, getParameterAt, getParent, initParameterList, initParameterList, isAtomic, isRanged, makeRanged, next, parametersLoaded, propagateId, recieveId, reset, resetToFirst, setParent, simplify, valuesToString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet

public AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet(AlphabetContainer.AlphabetContainerType type)
                                                                 throws Exception
Creates a new AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet for a set of discrete or continuous alphabets.

Parameters:
type - the type of the alphabet(s)
Throws:
Exception - is thrown if the Parameters could not be created

AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet

public AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet(Alphabet[] alphabets,
                                                                        int[] indexes)
                                                                 throws Exception
Creates a new AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet from an array of Alphabets, an array of indexes that define the index of the Alphabet in alphabets belonging to that position in indexes and a parameter if the alphabets may be discrete only.

Parameters:
alphabets - the alphabets
indexes - the indexes
Throws:
Exception - is thrown if the Parameters could not be created

AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet

public AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet(StringBuffer representation)
                                                                 throws NonParsableException
Creates a new AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet from its XML representation.

Parameters:
representation - the XML representation
Throws:
NonParsableException - is thrown if representation could not be parsed
Method Detail

loadParameters

protected void loadParameters()
                       throws Exception
Description copied from class: ParameterSet
Loads the parameters for this ParameterSet. This is in most cases done by calling ParameterSet.initParameterList() or ParameterSet.initParameterList(int) to initialize ParameterSet.parameters and afterwards filling ParameterSet.parameters with instances of subclasses of Parameter.

Overrides:
loadParameters in class ExpandableParameterSet
Throws:
Exception - an Exception is thrown if the parameters could not be loaded
See Also:
ParameterSet.parameters, Parameter

toXML

public StringBuffer toXML()
Description copied from interface: Storable
This method returns an XML-representation of an instance of the implementing class.

Specified by:
toXML in interface Storable
Overrides:
toXML in class ExpandableParameterSet
Returns:
the XML-representation

fromXML

public void fromXML(StringBuffer representation)
             throws NonParsableException
Description copied from class: ParameterSet
Parses the instance fields of a ParameterSet from the XML-representation as returned by ParameterSet.toXML().

Overrides:
fromXML in class ExpandableParameterSet
Parameters:
representation - the XML-representation
Throws:
NonParsableException - is thrown if the XML-code could not be parsed

hasDefaultOrIsSet

public boolean hasDefaultOrIsSet()
Description copied from class: ParameterSet
Returns true if all parameters in this ParameterSet are either set by the user or have default values. If any additional constraints are required on your parameters you should either specify some ParameterValidator on these parameters or implement these constraints by overriding this method in your implementation of ParameterSet. It is recommended to specify a useful remark which constraint failed in the member-variable errorMessage, which will be displayed to the user. In the overriding method super.hasDefaultOrIsSet() should be called prior to checking specific constraints.

Overrides:
hasDefaultOrIsSet in class ParameterSet
Returns:
true if all parameters have some allowed value set

parseSections

public static LinkedList<Integer> parseSections(String sections)
                                         throws Exception
Parses the sections as defined in sections to a list of Integers. Sections may be defined as ranges (e.g. "3-6"), as lists (e.g. "3,4,5,6"), or as combinations of both (e.g. ("3-5,6").

Parameters:
sections - the sections
Returns:
the list of positions
Throws:
Exception - is thrown if sections could not be parsed, contains a position more than once or contains positions that are out of range

clone

public AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet clone()
                                                                       throws CloneNotSupportedException
Description copied from class: ParameterSet
Creates a full clone (deep copy) of this ParameterSet. As a convenience-method the user can use fillWithStandardFieldsForClone(ParameterSet) on a newly created instance of a subclass of ParameterSet to obtain a clone/copy of all standard member variables (those already defined in ParameterSet) in the passed ParameterSet. Using this method, the cloning-process becomes merely three-step:
This method fulfills the conventions of Object's method Object.clone()

Overrides:
clone in class ExpandableParameterSet
Returns:
a deep clone of this ParameterSet
Throws:
CloneNotSupportedException

getInstanceName

public String getInstanceName()
Returns a descriptive name for this ParameterSet.

Returns:
the name

getInstanceComment

public String getInstanceComment()
Returns a descriptive comment on this ParameterSet.

Returns:
the comment