com.gentics.api.lib.resolving
Class ResolvableComparator

java.lang.Object
  extended by com.gentics.api.lib.resolving.ResolvableComparator
All Implemented Interfaces:
java.util.Comparator

public class ResolvableComparator
extends java.lang.Object
implements java.util.Comparator

Comparator class for comparing (and sorting) Resolvables by a attributes


Field Summary
protected  boolean caseSensitive
          case sensitive comparison, default to false
protected  java.text.Collator collator
          collator to be used for sorting Strings
protected  java.util.Locale locale
          locale
protected  Datasource.Sorting[] sortings
          sortings
 
Constructor Summary
ResolvableComparator(Datasource.Sorting sorting)
          Create a comparator for sorting.
ResolvableComparator(Datasource.Sorting[] sortings)
          Create a comparator for sorting (multiple attributes).
ResolvableComparator(Datasource.Sorting[] sortings, boolean caseSensitive)
          Create a comparator for sorting (multiple attributes)
ResolvableComparator(Datasource.Sorting[] sortings, boolean caseSensitive, java.util.Locale locale)
          Create a comparator for sorting (multiple attributes)
ResolvableComparator(Datasource.Sorting sorting, boolean caseSensitive)
          Create a comparator for sorting
ResolvableComparator(Datasource.Sorting sorting, boolean caseSensitive, java.util.Locale locale)
          Create a comparator for sorting
ResolvableComparator(java.lang.String sortBy, int sortOrder)
          Create a comparator for sorting.
ResolvableComparator(java.lang.String sortBy, int sortOrder, boolean caseSensitive)
          Create a comparator for sorting
ResolvableComparator(java.lang.String sortBy, int sortOrder, boolean caseSensitive, java.util.Locale locale)
          Create a comparator for sorting
 
Method Summary
 int compare(java.lang.Object o1, java.lang.Object o2)
           
protected  int compare(Resolvable r1, Resolvable r2, Datasource.Sorting sorting)
          Compare the given resolvables with the given sorting setting
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Field Detail

sortings

protected Datasource.Sorting[] sortings
sortings


caseSensitive

protected boolean caseSensitive
case sensitive comparison, default to false


collator

protected java.text.Collator collator
collator to be used for sorting Strings


locale

protected java.util.Locale locale
locale

Constructor Detail

ResolvableComparator

public ResolvableComparator(java.lang.String sortBy,
                            int sortOrder)
Create a comparator for sorting. Sorting is done case insensitive.

Parameters:
sortBy - name of the attribute for sorting
sortOrder - sort order

ResolvableComparator

public ResolvableComparator(java.lang.String sortBy,
                            int sortOrder,
                            boolean caseSensitive)
Create a comparator for sorting

Parameters:
sortBy - name of the attribute for sorting
sortOrder - sort order
caseSensitive - perform case-sensitive sorting

ResolvableComparator

public ResolvableComparator(java.lang.String sortBy,
                            int sortOrder,
                            boolean caseSensitive,
                            java.util.Locale locale)
Create a comparator for sorting

Parameters:
sortBy - name of the attribute for sorting
sortOrder - sort order
caseSensitive - perform case-sensitive sorting
locale - locale to be used for sorting (may be null for the default locale)

ResolvableComparator

public ResolvableComparator(Datasource.Sorting sorting)
Create a comparator for sorting. Sorting is done case insensitive

Parameters:
sorting - sortings setting

ResolvableComparator

public ResolvableComparator(Datasource.Sorting sorting,
                            boolean caseSensitive)
Create a comparator for sorting

Parameters:
sorting - sortings setting
caseSensitive - perform case-sensitive sorting

ResolvableComparator

public ResolvableComparator(Datasource.Sorting sorting,
                            boolean caseSensitive,
                            java.util.Locale locale)
Create a comparator for sorting

Parameters:
sorting - sortings setting
caseSensitive - perform case-sensitive sorting
locale - locale to be used (null for default locale)

ResolvableComparator

public ResolvableComparator(Datasource.Sorting[] sortings)
Create a comparator for sorting (multiple attributes). Sorting is done case insensitive.

Parameters:
sortings - array of sortings

ResolvableComparator

public ResolvableComparator(Datasource.Sorting[] sortings,
                            boolean caseSensitive)
Create a comparator for sorting (multiple attributes)

Parameters:
sortings - array of sortings
caseSensitive - perform case-sensitive sorting

ResolvableComparator

public ResolvableComparator(Datasource.Sorting[] sortings,
                            boolean caseSensitive,
                            java.util.Locale locale)
Create a comparator for sorting (multiple attributes)

Parameters:
sortings - array of sortings
caseSensitive - perform case-sensitive sorting
locale - locale to be used for sorting (null for default locale)
Method Detail

compare

public int compare(java.lang.Object o1,
                   java.lang.Object o2)
Specified by:
compare in interface java.util.Comparator

compare

protected int compare(Resolvable r1,
                      Resolvable r2,
                      Datasource.Sorting sorting)
Compare the given resolvables with the given sorting setting

Parameters:
r1 - first resolvable
r2 - second resolvable
sorting - sorting
Returns:
-1 if r1 is "smaller", 1 if r1 is "greater" or 0 if the objects are equal


Copyright © 2013 Gentics Software GmbH. All Rights Reserved.