Package org.apache.lucene.facet.taxonomy.writercache

# Class LabelToOrdinal

java.lang.Object
org.apache.lucene.facet.taxonomy.writercache.LabelToOrdinal

public abstract class LabelToOrdinal extends Object
Abstract class for storing Label->Ordinal mappings in a taxonomy.

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected int`
  `counter`
  How many ordinals we've seen.
  `static final int`
  `INVALID_ORDINAL`
  Returned by `getOrdinal(org.apache.lucene.facet.taxonomy.FacetLabel)` when the label isn't recognized.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LabelToOrdinal()`
  Default constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract void`
  `addLabel(FacetLabel label, int ordinal)`
  Adds a new label if it is not yet in the table.
  `int`
  `getMaxOrdinal()`
  return the maximal Ordinal assigned so far
  `int`
  `getNextOrdinal()`
  Returns the next unassigned ordinal.
  `abstract int`
  `getOrdinal(FacetLabel label)`
  Returns the ordinal assigned to the given label, or `INVALID_ORDINAL` if the label cannot be found in this table.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### counter

    protected int counter
    How many ordinals we've seen.

  - ### INVALID_ORDINAL

    public static final int INVALID_ORDINAL
    Returned by `getOrdinal(org.apache.lucene.facet.taxonomy.FacetLabel)` when the label isn't recognized.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### LabelToOrdinal

    public LabelToOrdinal()
    Default constructor.

- ## Method Details

  - ### getMaxOrdinal

    public int getMaxOrdinal()
    return the maximal Ordinal assigned so far

  - ### getNextOrdinal

    public int getNextOrdinal()
    Returns the next unassigned ordinal. The default behavior of this method is to simply increment a counter.

  - ### addLabel

    public abstract void addLabel(FacetLabel label, int ordinal)
    Adds a new label if it is not yet in the table. Throws an `IllegalArgumentException` if the same label with a different ordinal was previously added to this table.

  - ### getOrdinal

    public abstract int getOrdinal(FacetLabel label)
    Returns the ordinal assigned to the given label, or `INVALID_ORDINAL` if the label cannot be found in this table.