Class FieldComparator

java.lang.Object
com.northconcepts.datapipeline.core.FieldComparator
All Implemented Interfaces:
Cloneable, Comparator<Field>

public class FieldComparator extends Object implements Comparator<Field>, Cloneable
See FieldPath for supported field name expressions.
  • Constructor Details

    • FieldComparator

      public FieldComparator()
  • Method Details

    • copyFrom

      public FieldComparator copyFrom(FieldComparator o)
      Copies the field name, sort direction and collator from the given comparator.
    • isAscending

      public boolean isAscending()
      Indicates if fields are compared in ascending order (default is true).
    • setAscending

      public FieldComparator setAscending(boolean ascending)
      Indicates if fields are compared in ascending order (default is true).
    • getCollator

      public Collator getCollator()
      Returns the collator used to compare string values or null for natural ordering (the default).
    • setCollator

      public FieldComparator setCollator(Collator collator)
      Sets the collator used to compare string values or null for natural ordering (the default).
    • getFieldName

      public String getFieldName()
      Returns the field path of the field used for comparisons.
    • setFieldName

      public FieldComparator setFieldName(String fieldName)
      Sets the field path of the field to be used for comparisons. Accepts any expression that can be parsed by FieldPath.parse(String).
    • clone

      public Object clone()
      Overrides:
      clone in class Object
    • compare

      public int compare(Field o1, Field o2)
      Specified by:
      compare in interface Comparator<Field>
    • compareRecord

      public int compareRecord(Record record1, Record record2, boolean cacheFieldIndexes)
      Compares two records by their field at getFieldName(), throwing if either lacks it; cacheFieldIndexes is ignored.