net.sf.saxon.lib

## Interface SubstringMatcher

- All Superinterfaces:
    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. For sorting and comparing strings, a collation needs to implement only the `StringCollator` interface; for matching of substrings, it must also implement this interface.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `contains(String s1, String s2)` Test whether one string contains another, according to the rules of the XPath contains() function
    `boolean` | `endsWith(String s1, String s2)` Test whether one string ends with another, according to the rules of the XPath ends-with() function
    `boolean` | `startsWith(String s1, String s2)` Test whether one string starts with another, according to the rules of the XPath starts-with() function
    `String` | `substringAfter(String s1, String s2)` Return the part of a string after a given substring, according to the rules of the XPath substring-after() function
    `String` | `substringBefore(String s1, 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.lib.StringCollator

      `comparesEqual, compareStrings, getCollationKey`

- - ### Method Detail

    - #### contains

          boolean contains(String s1,
                         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(String s1,
                           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(String s1,
                         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

          String substringBefore(String s1,
                               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

          String substringAfter(String s1,
                              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) 2004-2013 Saxonica Limited. All rights reserved.