Package org.apache.uima.cas.impl
Class FSIndexComparatorImpl
- java.lang.Object
-
- org.apache.uima.cas.impl.FSIndexComparatorImpl
-
- All Implemented Interfaces:
java.lang.Comparable<FSIndexComparator>
,FSIndexComparator
public class FSIndexComparatorImpl extends java.lang.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 Modifier and Type Field Description private IntVector
directions
private java.util.List<java.lang.Object>
keySpecs
private Type
type
-
Fields inherited from interface org.apache.uima.cas.admin.FSIndexComparator
FEATURE_KEY, REVERSE_STANDARD_COMPARE, STANDARD_COMPARE, TYPE_ORDER_KEY
-
-
Constructor Summary
Constructors Modifier Constructor Description FSIndexComparatorImpl()
private
FSIndexComparatorImpl(Type type, java.util.List<java.lang.Object> keySpecs, IntVector directions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
addKey(LinearTypeOrder typeOrder, int compareKey)
int
addKey(Feature feat, int compareKey)
Add a new key.private boolean
checkType(Type t)
int
compareTo(FSIndexComparator o)
Compares two FSIndexComparator instances.FSIndexComparatorImpl
copy()
boolean
equals(java.lang.Object o)
Equals including the type of the comparator(package private) boolean
equalsWithoutType(FSIndexComparatorImpl comp)
Compare two comparators, ignoring the typeint
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.(package private) int
getTypeCode()
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.
-
-
-
Method Detail
-
checkType
private boolean checkType(Type t)
-
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 interfaceFSIndexComparator
- 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 interfaceFSIndexComparator
- Returns:
- The type of the comparator.
-
getTypeCode
int getTypeCode()
-
addKey
public int addKey(Feature feat, int compareKey)
Description copied from interface:FSIndexComparator
Add a new key.- Specified by:
addKey
in interfaceFSIndexComparator
- 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 interfaceFSIndexComparator
- Parameters:
typeOrder
- the type ordercompareKey
- the direction- Returns:
- the number of the key
-
getKeyType
public int getKeyType(int key)
- Specified by:
getKeyType
in interfaceFSIndexComparator
-
getNumberOfKeys
public int getNumberOfKeys()
Description copied from interface:FSIndexComparator
Return the number of keys.- Specified by:
getNumberOfKeys
in interfaceFSIndexComparator
- 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 interfaceFSIndexComparator
- 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 interfaceFSIndexComparator
- Parameters:
key
- The number of the key.- Returns:
- The corresponding comparator, if it exists;
-1
, else.
-
equals
public boolean equals(java.lang.Object o)
Equals including the type of the comparator- Specified by:
equals
in interfaceFSIndexComparator
- Overrides:
equals
in classjava.lang.Object
-
equalsWithoutType
boolean equalsWithoutType(FSIndexComparatorImpl comp)
Compare two comparators, ignoring the type- Parameters:
comp
- the other comparator to compare to- Returns:
- true if they're the same comparator
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.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 interfaceFSIndexComparator
- 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 interfacejava.lang.Comparable<FSIndexComparator>
- See Also:
Comparable.compareTo(Object)
-
-