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

- - ### 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(CASImpl cas)`

  - ### 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.
    `boolean` | `equals(Object o)` Test for equality against another `FSIndexComparator` `true` iff the comparators have the same keys and comparators.
    `int` | `getKeyComparator(int key)` Get the comparator for this key.
    `Feature` | `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(CASImpl cas)

  - ### 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`

    - #### 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 Feature 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)

      Description copied from interface: `FSIndexComparator`
      Test for equality against another `FSIndexComparator` `true` iff the comparators have the same keys and comparators.
      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.

    - #### compareTo

          public int compareTo(FSIndexComparator o)

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

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