## net.sf.saxon.sort
Interface SubstringMatcher

All Superinterfaces:
  java.io.Serializable, StringCollator

All Known Implementing Classes:
  CodepointCollator, RuleBasedSubstringMatcher

    public interface SubstringMatcher

extends StringCollator

This interface is implemented by a collation that is capable of supporting the XPath functions that require matching of a substring: namely contains(), starts-with, ends-with, substring-before, and substring-after.

Method Summary
`boolean` `comparesEqual(java.lang.String s1, java.lang.String s2)` Test whether one string is equal to another, according to the rules of the XPath compare() function.
`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 interface net.sf.saxon.sort.StringCollator
`compareStrings, getCollationKey`

Method Detail

### comparesEqual

    boolean comparesEqual(java.lang.String s1,
                          java.lang.String s2)

  Test whether one string is equal to another, according to the rules of the XPath compare() function. The result is true if and only if the compareStrings() method returns zero: but the implementation may be more efficient than calling compare and testing the result for zero

  Parameters:
    `s1` - the first string
    `s2` - the second string
  Returns:
    true iff s1 equals s2

### contains

    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

  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    true iff s1 contains s2

### startsWith

    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

  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    true iff s1 starts with s2

### endsWith

    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

  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    true iff s1 ends with s2

### substringBefore

    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

  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    the part of s1 that precedes the first occurrence of s2

### substringAfter

    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

  Parameters:
    `s1` - the containing string
    `s2` - the contained string
  Returns:
    the part of s1 that follows the first occurrence of s2

Copyright (c) Saxonica Limited. All rights reserved.