Top Description Fields Constructors Methods
com.opencsv.bean.comparator

public Class LiteralComparator<T extends Comparable<T>>

extends Object
implements Comparator<T extends Comparable<T>>, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, java.util.Comparator
Annotations
@Deprecated
Type Parameters
<T>
The type to be sorted
Imports
org.apache.commons.collections4.comparators.ComparableComparator, .ComparatorChain, .FixedOrderComparator, .NullComparator, java.io.Serializable, java.util.Arrays, .Collections, .Comparator, .List

Deprecated

This exact behavior can be had using comparators from Apache Commons Collections, which opencsv includes as a dependency. The following code gives the same result: List<T> predefinedList = Arrays.<T>asList(predefinedOrder); FixedOrderComparator<T> fixedComparator = new FixedOrderComparator<>(predefinedList); fixedComparator.setUnknownObjectBehavior(FixedOrderComparator.UnknownObjectBehavior.AFTER); Comparator<T> c = new ComparatorChain<>(Arrays.<Comparator<T>>asList( fixedComparator, new NullComparator<>(false), new ComparableComparator<>()));

This java.util.Comparator takes an array of literals that define an order. Anything not included in the array is placed after anything in the array and is then sorted according to its natural order.
Author
Andrew Rucker Jones
Since
4.3

Field Summary

Modifier and TypeField and Description
private Comparator<T>
c

private static final long

Constructor Summary

AccessConstructor and Description
public
LiteralComparator(T[]
Objects that define the order of comparison
predefinedOrder
)

Constructor.

Method Summary

Modifier and TypeMethod and Description
public int
compare(T o1, T o2)

Implements java.util.Comparator.compare.

Compares its two arguments for order.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

cback to summary
private Comparator<T> c
serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

LiteralComparatorback to summary
public LiteralComparator(T[] predefinedOrder)

Constructor.

Parameters
predefinedOrder:T[]

Objects that define the order of comparison

Method Detail

compareback to summary
public int compare(T o1, T o2)

Implements java.util.Comparator.compare.

Doc from java.util.Comparator.compare.

Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

The implementor must ensure that signum(compare(x, y)) == -signum(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)

The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.

Finally, the implementor must ensure that compare(x, y)==0 implies that signum(compare(x, z))==signum(compare(y, z)) for all z.

Annotations
@Override