## org.biojava.bio.symbol
Class IntegerAlphabet.SubIntegerAlphabet

    java.lang.Object
      org.biojava.utils.AbstractChangeable
          org.biojava.bio.symbol.AbstractAlphabet
              org.biojava.bio.symbol.IntegerAlphabet.SubIntegerAlphabet

All Implemented Interfaces:
  Serializable, Annotatable, Alphabet, FiniteAlphabet, Changeable

Enclosing class:
  IntegerAlphabet

    public static class IntegerAlphabet.SubIntegerAlphabet

extends AbstractAlphabet

A class to represent a finite contiguous subset of the infinite IntegerAlphabet

Since:
  1.3
Author:
  Mark Schreiber, Matthew Pocock
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
`Annotatable.AnnotationForwarder`

Field Summary

Fields inherited from class org.biojava.bio.symbol.AbstractAlphabet
`serialVersionUID`

Fields inherited from interface org.biojava.bio.symbol.Alphabet
`EMPTY_ALPHABET, PARSERS, SYMBOLS`

Fields inherited from interface org.biojava.bio.Annotatable
`ANNOTATION`

Method Summary
`protected void` `addSymbolImpl(AtomicSymbol sym)`
`protected boolean` `containsImpl(AtomicSymbol sym)`
`List` `getAlphabets()` Return an ordered List of the alphabets which make up a compound alphabet.
`Annotation` `getAnnotation()` Should return the associated annotation object.
`String` `getName()` Get the name of the alphabet.
`IntegerAlphabet.IntegerSymbol` `getSymbol(int val)`
`protected AtomicSymbol` `getSymbolImpl(List symL)`
`SymbolTokenization` `getTokenization(String name)` Get a SymbolTokenization by name.
`Iterator` `iterator()` Retrieve an Iterator over the AtomicSymbols in this FiniteAlphabet.
`void` `removeSymbol(Symbol sym)` Remove a symbol from this alphabet.
`int` `size()` The number of symbols in the alphabet.

Methods inherited from class org.biojava.bio.symbol.AbstractAlphabet
`addSymbol, contains, getAmbiguity, getAmbiguityImpl, getGapSymbol, getSymbol, putTokenization, readResolve, toString, validate`

Methods inherited from class org.biojava.utils.AbstractChangeable
`addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.biojava.utils.Changeable
`addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener`

Method Detail

### getName

    public String getName()

  Description copied from interface: `Alphabet`
  Get the name of the alphabet.

  Returns:
    the name as a string.

### containsImpl

    protected boolean containsImpl(AtomicSymbol sym)

  Specified by:
    `containsImpl` in class `AbstractAlphabet`

### getTokenization

    public SymbolTokenization getTokenization(String name)

  Description copied from interface: `Alphabet`

  Get a SymbolTokenization by name.

  The parser returned is guaranteed to return Symbols and SymbolLists that conform to this alphabet.

  Every alphabet should have a SymbolTokenzation under the name 'token' that uses the symbol token characters to translate a string into a SymbolList. Likewise, there should be a SymbolTokenization under the name 'name' that uses symbol names to identify symbols. Any other names may also be defined, but the behaviour of the returned SymbolTokenization is not defined here.

  A SymbolTokenization under the name 'default' should be defined for all sequences, that determines the behavior when printing out a sequence. Standard behavior is to define the 'token' SymbolTokenization as default if it exists, else to define the 'name' SymbolTokenization as the default, but others are possible.

  Specified by:
    `getTokenization` in interface `Alphabet`
  Overrides:
    `getTokenization` in class `AbstractAlphabet`
  Parameters:
    `name` - Currently only "token" is supported.
  Returns:
    an IntegerParser.

### getSymbol

    public IntegerAlphabet.IntegerSymbol getSymbol(int val)
                                            throws IllegalSymbolException

  Throws:
    `IllegalSymbolException`

### size

    public int size()

  Description copied from interface: `FiniteAlphabet`
  The number of symbols in the alphabet.

  Returns:
    the size of the alphabet

### getAlphabets

    public List getAlphabets()

  Description copied from interface: `Alphabet`
  Return an ordered List of the alphabets which make up a compound alphabet. For simple alphabets, this will return a singleton list of itself. The returned list should be immutable.

  Returns:
    a List of alphabets

### getSymbolImpl

    protected AtomicSymbol getSymbolImpl(List symL)
                                  throws IllegalSymbolException

  Specified by:
    `getSymbolImpl` in class `AbstractAlphabet`
  Throws:
    `IllegalSymbolException`

### addSymbolImpl

    protected void addSymbolImpl(AtomicSymbol sym)
                          throws ChangeVetoException

  Specified by:
    `addSymbolImpl` in class `AbstractAlphabet`
  Throws:
    `ChangeVetoException`

### removeSymbol

    public void removeSymbol(Symbol sym)
                      throws ChangeVetoException

  Description copied from interface: `FiniteAlphabet`
  Remove a symbol from this alphabet.

  If the symbol matches multiple AtomicSymbols, then each matching symbol it will be removed.

  Parameters:
    `sym` - the Symbol to removeintGot
  Throws:
    `ChangeVetoException` - if either the alphabet doesn't allow symbols to be added, or the change was vetoed

### iterator

    public Iterator iterator()

  Description copied from interface: `FiniteAlphabet`
  Retrieve an Iterator over the AtomicSymbols in this FiniteAlphabet.

  Each AtomicSymbol as for which this.contains(as) is true will be returned exactly once by this iterator in no specified order.

  Returns:
    an Iterator over the contained AtomicSymbol objects

### getAnnotation

    public Annotation getAnnotation()

  Description copied from interface: `Annotatable`
  Should return the associated annotation object.

  Returns:
    an Annotation object, never null