org.apache.uima.cas.impl

## Class FSIndexComparatorImpl

- java.lang.Object
- - org.apache.uima.cas.impl.FSIndexComparatorImpl

- All Implemented Interfaces:
    Comparable<FSIndexComparator>, FSIndexComparator

      public class FSIndexComparatorImpl
      extends Object
      implements FSIndexComparator

  Specifies the comparison to be used for an index, in terms of - the keys and the typeorder, in an order - the standard/reverse ordering

- - ### Field Summary

    - ### Fields inherited from interface org.apache.uima.cas.admin.FSIndexComparator

      `FEATURE_KEY, REVERSE_STANDARD_COMPARE, STANDARD_COMPARE, TYPE_ORDER_KEY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FSIndexComparatorImpl()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `addKey(Feature feat, int compareKey)` Add a new key.
    `int` | `addKey(LinearTypeOrder typeOrder, int compareKey)`
    `int` | `compareTo(FSIndexComparator o)` Compares two FSIndexComparator instances.
    `FSIndexComparatorImpl` | `copy()`
    `boolean` | `equals(Object o)` Equals including the type of the comparator
    `int` | `getKeyComparator(int key)` Get the comparator for this key.
    `FeatureImpl` | `getKeyFeature(int key)` Get the feature for this key.
    `int` | `getKeyType(int key)`
    `LinearTypeOrder` | `getKeyTypeOrder(int key)`
    `int` | `getNumberOfKeys()` Return the number of keys.
    `Type` | `getType()` Get the type of this comparator.
    `int` | `hashCode()`
    `boolean` | `isValid()` Validate that this comparator is valid with respect to the type system.
    `void` | `setType(Type type)` Set the type of this comparator.

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

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

- - ### Constructor Detail

    - #### FSIndexComparatorImpl

          public FSIndexComparatorImpl()

  - ### Method Detail

    - #### setType

          public void setType(Type type)

      Description copied from interface: `FSIndexComparator`
      Set the type of this comparator. Note that you can use this method more than once, in case you need to generate indexes that are identical except for the type.
      Specified by:
        `setType` in interface `FSIndexComparator`
      Parameters:
        `type` - The type of the index.

    - #### getType

          public Type getType()

      Description copied from interface: `FSIndexComparator`
      Get the type of this comparator.
      Specified by:
        `getType` in interface `FSIndexComparator`
      Returns:
        The type of the comparator.

    - #### addKey

          public int addKey(Feature feat,
                            int compareKey)

      Description copied from interface: `FSIndexComparator`
      Add a new key.
      Specified by:
        `addKey` in interface `FSIndexComparator`
      Parameters:
        `feat` - The key feature.
        `compareKey` - The way to compare the key values.
      Returns:
        The number of the key.

    - #### addKey

          public int addKey(LinearTypeOrder typeOrder,
                            int compareKey)

      Specified by:
        `addKey` in interface `FSIndexComparator`
      Parameters:
        `typeOrder` - the type order
        `compareKey` - the direction
      Returns:
        the number of the key

    - #### getKeyType

          public int getKeyType(int key)

      Specified by:
        `getKeyType` in interface `FSIndexComparator`

    - #### getNumberOfKeys

          public int getNumberOfKeys()

      Description copied from interface: `FSIndexComparator`
      Return the number of keys.
      Specified by:
        `getNumberOfKeys` in interface `FSIndexComparator`
      Returns:
        the number of keys.

    - #### getKeyFeature

          public FeatureImpl getKeyFeature(int key)

      Description copied from interface: `FSIndexComparator`
      Get the feature for this key.
      Specified by:
        `getKeyFeature` in interface `FSIndexComparator`
      Parameters:
        `key` - The number of the key.
      Returns:
        The corresponding feature, if it exists; `null`, else.

    - #### getKeyTypeOrder

          public LinearTypeOrder getKeyTypeOrder(int key)

    - #### getKeyComparator

          public int getKeyComparator(int key)

      Description copied from interface: `FSIndexComparator`
      Get the comparator for this key.
      Specified by:
        `getKeyComparator` in interface `FSIndexComparator`
      Parameters:
        `key` - The number of the key.
      Returns:
        The corresponding comparator, if it exists; `-1`, else.

    - #### equals

          public boolean equals(Object o)

      Equals including the type of the comparator
      Specified by:
        `equals` in interface `FSIndexComparator`
      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### isValid

          public boolean isValid()

      Description copied from interface: `FSIndexComparator`
      Validate that this comparator is valid with respect to the type system. Note that all types and features used to define this comparator must come from the same type system. Note that this method only returns true or false. It doesn't tell you what's actually wrong. Maybe we need to change that?
      Specified by:
        `isValid` in interface `FSIndexComparator`
      Returns:
        `true` iff all key features are appropriate for the type of this comparator.

    - #### copy

          public FSIndexComparatorImpl copy()

    - #### compareTo

          public int compareTo(FSIndexComparator o)

      Compares two FSIndexComparator instances. The code to compare two FSs is in the compare method of FsIndex_singletype.
      Specified by:
        `compareTo` in interface `Comparable<FSIndexComparator>`
      See Also:
        `Comparable.compareTo(Object)`

Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.