Class CaseFirstCollator

  • All Implemented Interfaces:
    StringCollator

    public class CaseFirstCollator
    extends java.lang.Object
    implements StringCollator
    A StringCollator that sorts lowercase before uppercase, or vice versa.

    Case is irrelevant, unless the strings are equal ignoring case, in which case lowercase comes first.

    • Constructor Summary

      Constructors 
      Constructor Description
      CaseFirstCollator​(StringCollator base, boolean upperFirst, java.lang.String collationURI)
      Create a CaseFirstCollator
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean comparesEqual​(java.lang.CharSequence s1, java.lang.CharSequence s2)
      Compare two strings for equality.
      int compareStrings​(java.lang.CharSequence a, java.lang.CharSequence b)
      Compare two string objects: case is irrelevant, unless the strings are equal ignoring case, in which case lowercase comes first.
      AtomicMatchKey getCollationKey​(java.lang.CharSequence s)
      Get a collation key for two Strings.
      java.lang.String getCollationURI()
      Get the collation URI.
      static StringCollator makeCaseOrderedCollator​(java.lang.String uri, StringCollator stringCollator, java.lang.String caseOrder)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CaseFirstCollator

        public CaseFirstCollator​(StringCollator base,
                                 boolean upperFirst,
                                 java.lang.String collationURI)
        Create a CaseFirstCollator
        Parameters:
        base - the base collator, which determines how characters are sorted irrespective of case
        upperFirst - true if uppercase precedes lowercase, false otherwise
        collationURI - the URI of the collation
    • Method Detail

      • getCollationURI

        public java.lang.String getCollationURI()
        Get the collation URI. It must be possible to use this collation URI to reconstitute the collation
        Specified by:
        getCollationURI in interface StringCollator
        Returns:
        a collation URI that can be used to reconstruct the collation when an XSLT package is reloaded.
      • compareStrings

        public int compareStrings​(java.lang.CharSequence a,
                                  java.lang.CharSequence b)
        Compare two string objects: case is irrelevant, unless the strings are equal ignoring case, in which case lowercase comes first.
        Specified by:
        compareStrings in interface StringCollator
        Parameters:
        a - the first string
        b - the second string
        Returns:
        <0 if a<b, 0 if a=b, >0 if a>b
        Throws:
        java.lang.ClassCastException - if the objects are of the wrong type for this Comparer
      • comparesEqual

        public boolean comparesEqual​(java.lang.CharSequence s1,
                                     java.lang.CharSequence 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,
      • getCollationKey

        public AtomicMatchKey getCollationKey​(java.lang.CharSequence s)
        Get a collation key for two Strings. 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 -
        Returns:
        the collation key