org.apache.lucene.facet.taxonomy.writercache.cl2o
Class LabelToOrdinal

java.lang.Object
  extended by org.apache.lucene.facet.taxonomy.writercache.cl2o.LabelToOrdinal
Direct Known Subclasses:
CompactLabelToOrdinal

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
protected  int counter
           
static int INVALID_ORDINAL
           
 
Constructor Summary
LabelToOrdinal()
           
 
Method Summary
abstract  void addLabel(CategoryPath label, int ordinal)
          Adds a new label if its not yet in the table.
 int getMaxOrdinal()
          return the maximal Ordinal assigned so far
 int getNextOrdinal()
          Returns the next unassigned ordinal.
abstract  int getOrdinal(CategoryPath label)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

counter

protected int counter

INVALID_ORDINAL

public static final int INVALID_ORDINAL
See Also:
Constant Field Values
Constructor Detail

LabelToOrdinal

public LabelToOrdinal()
Method Detail

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(CategoryPath label,
                              int ordinal)
Adds a new label if its not yet in the table. Throws an IllegalArgumentException if the same label with a different ordinal was previoulsy added to this table.


getOrdinal

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


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.