## org.biojava.bio.symbol
Class AbstractAlphabet

    java.lang.Object
      |
      +--org.biojava.bio.symbol.AbstractAlphabet

Direct Known Subclasses:
  SimpleAlphabet

public abstract class AbstractAlphabet
extends java.lang.Object
implements FiniteAlphabet

An abstract implementation of Alphabet.

This provides the frame-work for maintaining the SymbolParser <-> name mappings.

This class is for developers to derive from, not for use directly.

Author:
  Matthew Pocock

Inner classes inherited from class org.biojava.bio.symbol.Alphabet
`Alphabet.EmptyAlphabet`

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

Constructor Summary
`protected` `AbstractAlphabet()`

Method Summary
`SymbolParser` `getParser(java.lang.String name)` Get a parser by name.
`void` `putParser(java.lang.String name, SymbolParser parser)` Assigns a symbol parser to a string object.

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

Constructor Detail

### AbstractAlphabet

    protected AbstractAlphabet()

Method Detail

### putParser

    public void putParser(java.lang.String name,
                          SymbolParser parser)

  Assigns a symbol parser to a string object. Afterwards, the parser can be retrieved using the getParser method.
  Parameters:
    `name` - Name of the string to associate with a parser.
    `parser` - The parser to associate your string with.

### getParser

    public SymbolParser getParser(java.lang.String name)
                           throws java.util.NoSuchElementException

  Description copied from interface: Alphabet
  Get a parser by name.

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

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

  Tags copied from interface: Alphabet
  Parameters:
    `name` - the name of the parser
  Returns:
    a parser for that name
  Throws:
    java.util.NoSuchElementException - if the name is unknown
    BioException - if for any reason the parser could not be built