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
alternativeInstanceClass, errorMessage, parameters, parent, ranged
 
Constructor Summary
AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet(Alphabet[] alphabets, int[] indexes, boolean discrete)
          Creates a new SectionDefinedAlphabetParameterSet from an array of Alphabets, an array of indexes that define the index of the Alphabet<>/code> in alphabets/code> belonging to that position in indexes and a parameter if the alphabets may be discrete only.
AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet(boolean discrete)
          Creates a new SectionDefinedAlphabetParameterSet for a set of discrete or continuous alphabets.
AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet(StringBuffer representation)
          Creates a new 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 comment (a textual description) of the class that can be constructed using this ParameterSet.
 String getInstanceName()
          Returns the name of an instance of the class that can be constructed using 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)
          Parsed 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, getInstance, getInstanceClass, getNumberOfParameters, getNumberOfValues, getParameterAt, getParent, initParameterList, initParameterList, isAtomic, isRanged, makeRanged, next, parametersLoaded, propagateId, recieveId, reset, resetToFirst, setAlternativeInstanceClass, 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(boolean discrete)
                                                                 throws Exception
Creates a new SectionDefinedAlphabetParameterSet for a set of discrete or continuous alphabets.

Parameters:
discrete - true if the alphabets may be discrete only
Throws:
Exception - is thrown if the Parameters could not be created

AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet

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

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

AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet

public AlphabetContainerParameterSet.SectionDefinedAlphabetParameterSet(StringBuffer representation)
                                                                 throws NonParsableException
Creates a new 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 simply creating a new ArrayList<Parameter> for the field parameters/code> and filling it 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 specifiy some ParameterValidator on these parameters or implement these contraints 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
Parsed 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:
  • Create a new instance of your subclass of ParameterSet, most likely with an empty constructor or the one taking just the instance-class
  • call this.fillWithStandardFieldsForClone on this instance
  • return the instance
This method fulfils the conventions of Object's method clone()

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

getInstanceName

public String getInstanceName()
Description copied from class: ParameterSet
Returns the name of an instance of the class that can be constructed using this ParameterSet.

Overrides:
getInstanceName in class ExpandableParameterSet
Returns:
the name

getInstanceComment

public String getInstanceComment()
Description copied from class: ParameterSet
Returns a comment (a textual description) of the class that can be constructed using this ParameterSet.

Overrides:
getInstanceComment in class ExpandableParameterSet
Returns:
the comment