net.sf.saxon.expr.sort

## Class SimpleCollation

- java.lang.Object
- - net.sf.saxon.expr.sort.SimpleCollation

- All Implemented Interfaces:
    Serializable, StringCollator
  Direct Known Subclasses:
    RuleBasedSubstringMatcher

      public class SimpleCollation
      extends Object
      implements StringCollator

  A simple collation that just wraps a suppled Comparator
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleCollation(Comparator collation)` Create a SimpleCollation

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `comparesEqual(String s1, String s2)` Compare two strings for equality.
    `int` | `compareStrings(String o1, String o2)` Compares its two arguments for order.
    `Comparator` | `getCollation()` Get the underlying comparator
    `Object` | `getCollationKey(String s)` Get a collation key for a String.
    `void` | `setCollation(Comparator collation)` Set the underlying comparator

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SimpleCollation

          public SimpleCollation(Comparator collation)

      Create a SimpleCollation
      Parameters:
        `collation` - the Comparator that does the actual string comparison

  - ### Method Detail

    - #### compareStrings

          public int compareStrings(String o1,
                           String o2)

      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.

      Specified by:
        `compareStrings` in interface `StringCollator`
      Parameters:
        `o1` - the first object to be compared.
        `o2` - the second object to be compared.
      Returns:
        a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
      Throws:
        `ClassCastException` - if the arguments' types prevent them from being compared by this Comparator.

    - #### comparesEqual

          public boolean comparesEqual(String s1,
                              String s2)

      Compare two strings for equality. This may be more efficient than using compareStrings and testing whether the result is zero, but it must give the same result
      Specified by:
        `comparesEqual` in interface `StringCollator`
      Parameters:
        `s1` - the first string
        `s2` - the second string
      Returns:
        true if and only if the strings are considered equal,

    - #### getCollation

          public Comparator getCollation()

      Get the underlying comparator
      Returns:
        the underlying comparator

    - #### setCollation

          public void setCollation(Comparator collation)

      Set the underlying comparator
      Parameters:
        `collation` - the underlying comparator

    - #### getCollationKey

          public Object getCollationKey(String s)

      Get a collation key for a String. The essential property of collation keys is that if two values are equal under the collation, then the collation keys are compare correctly under the equals() method.
      Specified by:
        `getCollationKey` in interface `StringCollator`
      Parameters:
        `s` - the string whose collation key is required
      Returns:
        the collation key

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.