Class LinearTypeOrderBuilderImpl.TotalTypeOrder

java.lang.Object
org.apache.uima.cas.impl.LinearTypeOrderBuilderImpl.TotalTypeOrder
All Implemented Interfaces:
LinearTypeOrder
Enclosing class:
LinearTypeOrderBuilderImpl

public static class LinearTypeOrderBuilderImpl.TotalTypeOrder extends Object implements LinearTypeOrder
An implementation of the LinearTypeOrder interface.
  • Field Details

    • order

      private final int[] order
    • typeCodeToOrder

      private final short[] typeCodeToOrder
    • hashCodeComputed

      private boolean hashCodeComputed
    • computedHashCode

      private int computedHashCode
    • isEmptyTypeOrder

      private final boolean isEmptyTypeOrder
  • Constructor Details

    • TotalTypeOrder

      private TotalTypeOrder(String[] typeList, TypeSystem ts, boolean isEmpty) throws CASException
      Throws:
      CASException
    • TotalTypeOrder

      private TotalTypeOrder(int[] typeList, TypeSystem ts, boolean isEmpty)
      The constructor for the total type order, called by the other constructor and also when doing a cas complete deserialization, or just deserializing the type system/index defs Create the order from an array of type codes in ascending order.
      Parameters:
      typeList - the list of ordered types
      ts - the type system
  • Method Details

    • encodeTypeList

      private static int[] encodeTypeList(String[] typeList, TypeSystem ts) throws CASException
      Throws:
      CASException
    • compare

      public int compare(FeatureStructure fs1, FeatureStructure fs2)
      Description copied from interface: LinearTypeOrder
      Compare two Feature Structure's types
      Specified by:
      compare in interface LinearTypeOrder
      Parameters:
      fs1 - first Feature Structure
      fs2 - second Feature Structure
      Returns:
      same as compare functions: -1 if fs1's type < fs2's type, etc.
    • lessThan

      public boolean lessThan(Type t1, Type t2)
      Description copied from interface: LinearTypeOrder
      Compare two types.
      Specified by:
      lessThan in interface LinearTypeOrder
      Parameters:
      t1 - type to compare
      t2 - type to compare
      Returns:
      true iff t1 is less than t2 in this order.
    • lessThan

      public boolean lessThan(int t1, int t2)
      Description copied from interface: LinearTypeOrder
      Compare two types.
      Specified by:
      lessThan in interface LinearTypeOrder
      Parameters:
      t1 - type to compare
      t2 - type to compare
      Returns:
      true iff t1 is less than t2 in this order.
    • getOrder

      public int[] getOrder()
      Specified by:
      getOrder in interface LinearTypeOrder
      Returns:
      The type order as array of type codes in ascending order.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • isEmptyTypeOrder

      public boolean isEmptyTypeOrder()
      Specified by:
      isEmptyTypeOrder in interface LinearTypeOrder
      Returns:
      true if there is no type order defined for this pipeline