Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.sort
Class RuleBasedSubstringMatcher

    java.lang.Object
      net.sf.saxon.sort.RuleBasedSubstringMatcher

All Implemented Interfaces:
  java.util.Comparator, SubstringMatcher

public class RuleBasedSubstringMatcher
extends java.lang.Object
implements SubstringMatcher

This class wraps a RuleBasedCollator to provide a SubstringMatcher. This users the facilities offered by the RuleBasedCollator to implement the XPath functions contains(), starts-with(), ends-with(), substring-before(), and substring-after().

Constructor Summary
`RuleBasedSubstringMatcher(java.text.RuleBasedCollator collator)`

Method Summary
`int` | `compare(java.lang.Object o1, java.lang.Object o2)` Compares its two arguments for order.
`boolean` | `contains(java.lang.String s1, java.lang.String s2)` Test whether one string contains another, according to the rules of the XPath contains() function
`boolean` | `endsWith(java.lang.String s1, java.lang.String s2)` Test whether one string ends with another, according to the rules of the XPath ends-with() function
`boolean` | `startsWith(java.lang.String s1, java.lang.String s2)` Test whether one string starts with another, according to the rules of the XPath starts-with() function
`java.lang.String` | `substringAfter(java.lang.String s1, java.lang.String s2)` Return the part of a string after a given substring, according to the rules of the XPath substring-after() function
`java.lang.String` | `substringBefore(java.lang.String s1, java.lang.String s2)` Return the part of a string before a given substring, according to the rules of the XPath substring-before() function

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`

Constructor Detail

### RuleBasedSubstringMatcher

    public RuleBasedSubstringMatcher(java.text.RuleBasedCollator collator)

Method Detail

### contains

    public boolean contains(java.lang.String s1,
                            java.lang.String s2)

  Test whether one string contains another, according to the rules of the XPath contains() function

  Specified by:
    `contains` in interface `SubstringMatcher`
  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    true iff s1 contains s2

### endsWith

    public boolean endsWith(java.lang.String s1,
                            java.lang.String s2)

  Test whether one string ends with another, according to the rules of the XPath ends-with() function

  Specified by:
    `endsWith` in interface `SubstringMatcher`
  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    true iff s1 ends with s2

### startsWith

    public boolean startsWith(java.lang.String s1,
                              java.lang.String s2)

  Test whether one string starts with another, according to the rules of the XPath starts-with() function

  Specified by:
    `startsWith` in interface `SubstringMatcher`
  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    true iff s1 starts with s2

### substringAfter

    public java.lang.String substringAfter(java.lang.String s1,
                                           java.lang.String s2)

  Return the part of a string after a given substring, according to the rules of the XPath substring-after() function

  Specified by:
    `substringAfter` in interface `SubstringMatcher`
  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    the part of s1 that follows the first occurrence of s2

### substringBefore

    public java.lang.String substringBefore(java.lang.String s1,
                                            java.lang.String s2)

  Return the part of a string before a given substring, according to the rules of the XPath substring-before() function

  Specified by:
    `substringBefore` in interface `SubstringMatcher`
  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    the part of s1 that precedes the first occurrence of s2

### compare

    public int compare(java.lang.Object o1,
                       java.lang.Object 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.

  The implementor must ensure that `sgn(compare(x, y)) == -sgn(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 implementer must ensure that `compare(x, y)==0` implies that `sgn(compare(x, z))==sgn(compare(y, z))` for all `z`.

  It is generally the case, but not strictly required that `(compare(x, y)==0) == (x.equals(y))`. Generally speaking, any comparator that violates this condition should clearly indicate this fact. The recommended language is "Note: this comparator imposes orderings that are inconsistent with equals."

  Specified by:
    `compare` in interface `java.util.Comparator`
  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:
    `java.lang.ClassCastException` - if the arguments' types prevent them from being compared by this Comparator.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD