POSDictionary (Apache OpenNLP Tools 2.5.9 API)
Description: declaration: package: opennlp.tools.postag, class: POSDictionary

# Class POSDictionary

java.lang.Object
opennlp.tools.postag.POSDictionary

All Implemented Interfaces:
  `Iterable<String>, MutableTagDictionary, TagDictionary, SerializableArtifact`

public class POSDictionary extends Object implements Iterable<String>, MutableTagDictionary, SerializableArtifact
Provides a means of determining which tags are valid for a particular word based on a `TagDictionary` read from a file.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `POSDictionary()`
  Initializes an empty case sensitive `POSDictionary`.
  `POSDictionary(boolean caseSensitive)`
  Initializes an empty `POSDictionary`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static POSDictionary`
  `create(InputStream in)`
  Creates a new `POSDictionary` from an `InputStream`.
  `boolean`
  `equals(Object obj)`
  `Class<?>`
  `getArtifactSerializerClass()`
  Retrieves the class which can serialize and recreate this artifact.
  `String[]`
  `getTags(String word)`
  Returns a list of valid tags for the specified `word`.
  `int`
  `hashCode()`
  `boolean`
  `isCaseSensitive()`
  Whether the dictionary is case-sensitive or not.
  `Iterator<String>`
  `iterator()`
  Retrieves an `Iterator` over all words in the dictionary.
  `String[]`
  `put(String word, String... tags)`
  Associates the specified tags with the specified word.
  `void`
  `serialize(OutputStream out)`
  Writes the `POSDictionary` to the given `OutputStream`;
  `String`
  `toString()`

  ### Methods inherited from class Object

  `getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface Iterable

  `forEach, spliterator`

- ## Constructor Details

  - ### POSDictionary

    public POSDictionary()
    Initializes an empty case sensitive `POSDictionary`.

  - ### POSDictionary

    public POSDictionary(boolean caseSensitive)
    Initializes an empty `POSDictionary`.
    Parameters:
      `caseSensitive` - `true` if the `POSDictionary` is case sensitive, `false` otherwise.

- ## Method Details

  - ### getTags

    public String[] getTags(String word)
    Returns a list of valid tags for the specified `word`.
    Specified by:
      `getTags` in interface `TagDictionary`
    Parameters:
      `word` - The word.
    Returns:
      An array of valid tags for the specified word or `null` if no information is available for that word.

  - ### iterator

    public Iterator<String> iterator()
    Retrieves an `Iterator` over all words in the dictionary.
    Specified by:
      `iterator` in interface `Iterable<String>`

  - ### serialize

    public void serialize(OutputStream out) throws IOException
    Writes the `POSDictionary` to the given `OutputStream`;

    After the serialization is finished the provided `OutputStream` remains open.

    Parameters:
      `out` - the `OutputStream` to write the dictionary into.
    Throws:
      `IOException` - Throw if writing to the `OutputStream` fails

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### create

    public static POSDictionary create(InputStream in) throws IOException
    Creates a new `POSDictionary` from an `InputStream`.

    After creation is finished the provided `InputStream` is closed.

    Parameters:
      `in` - The `InputStream` used for creating the `POSDictionary`. The stream must be open and have bytes available to read from.
    Returns:
      A valid `POSDictionary` instance.
    Throws:
      `IOException` - Thrown if IO errors occurred during creation.
      `InvalidFormatException` - Thrown if the entries don't have exactly one token.

  - ### put

    public String[] put(String word, String... tags)
    Description copied from interface: `MutableTagDictionary`
    Associates the specified tags with the specified word. If the dictionary previously contained keys for the word, the old tags are replaced by the specified tags.
    Specified by:
      `put` in interface `MutableTagDictionary`
    Parameters:
      `word` - word with which the specified tags is to be associated
      `tags` - tags to be associated with the specified word
    Returns:
      the previous tags associated with the word, or null if there was no mapping for word.

  - ### isCaseSensitive

    public boolean isCaseSensitive()
    Description copied from interface: `TagDictionary`
    Whether the dictionary is case-sensitive or not.
    Specified by:
      `isCaseSensitive` in interface `TagDictionary`
    Returns:
      `true` if the dictionary is case-sensitive, else `false`.

  - ### getArtifactSerializerClass

    public Class<?> getArtifactSerializerClass()
    Description copied from interface: `SerializableArtifact`
    Retrieves the class which can serialize and recreate this artifact.

    Note: The serializer class must have a `public zero argument constructor` or an exception is thrown during model serialization/loading.

    Specified by:
      `getArtifactSerializerClass` in interface `SerializableArtifact`
    Returns:
      The corresponding `ArtifactSerializer` class.