Class 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 Detail

      • counter

        protected int counter
    • 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.
      • addLabel

        public abstract void addLabel​(CategoryPath label,
                                      int prefixLen,
                                      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 InvalidOrdinal if the label cannot be found in this table.
      • getOrdinal

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