org.apache.lucene.analysis.reverse

## Class ReverseStringFilter

- java.lang.Object
- - org.apache.lucene.util.AttributeSource
  - - org.apache.lucene.analysis.TokenStream
    - - org.apache.lucene.analysis.TokenFilter
      - - org.apache.lucene.analysis.reverse.ReverseStringFilter

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public final class ReverseStringFilter
      extends TokenFilter

  Reverse token string, for example "country" => "yrtnuoc".

  If `marker` is supplied, then tokens will be also prepended by that character. For example, with a marker of \u0001, "country" => "\u0001yrtnuoc". This is useful when implementing efficient leading wildcards search.

  You must specify the required `Version` compatibility when creating ReverseStringFilter, or when using any of its static methods:

  - As of 3.1, supplementary characters are handled correctly

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource

      `AttributeSource.AttributeFactory, AttributeSource.State`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static char` | `INFORMATION_SEPARATOR_MARKER` Example marker character: U+001F (INFORMATION SEPARATOR ONE)
    `static char` | `PUA_EC00_MARKER` Example marker character: U+EC00 (PRIVATE USE AREA: EC00)
    `static char` | `RTL_DIRECTION_MARKER` Example marker character: U+200F (RIGHT-TO-LEFT MARK)
    `static char` | `START_OF_HEADING_MARKER` Example marker character: U+0001 (START OF HEADING)

    - ### Fields inherited from class org.apache.lucene.analysis.TokenFilter

      `input`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReverseStringFilter(Version matchVersion, TokenStream in)` Create a new ReverseStringFilter that reverses all tokens in the supplied `TokenStream`.
    `ReverseStringFilter(Version matchVersion, TokenStream in, char marker)` Create a new ReverseStringFilter that reverses and marks all tokens in the supplied `TokenStream`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `incrementToken()`
    `static void` | `reverse(Version matchVersion, char[] buffer)` Reverses the given input buffer in-place
    `static void` | `reverse(Version matchVersion, char[] buffer, int len)` Partially reverses the given input buffer in-place from offset 0 up to the given length.
    `static void` | `reverse(Version matchVersion, char[] buffer, int start, int len)` Partially reverses the given input buffer in-place from the given offset up to the given length.
    `static String` | `reverse(Version matchVersion, String input)` Reverses the given input string

    - ### Methods inherited from class org.apache.lucene.analysis.TokenFilter

      `close, end, reset`

    - ### Methods inherited from class org.apache.lucene.util.AttributeSource

      `addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, restoreState`

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

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

- - ### Field Detail

    - #### START_OF_HEADING_MARKER

          public static final char START_OF_HEADING_MARKER

      Example marker character: U+0001 (START OF HEADING)
      See Also:
        Constant Field Values

    - #### INFORMATION_SEPARATOR_MARKER

          public static final char INFORMATION_SEPARATOR_MARKER

      Example marker character: U+001F (INFORMATION SEPARATOR ONE)
      See Also:
        Constant Field Values

    - #### PUA_EC00_MARKER

          public static final char PUA_EC00_MARKER

      Example marker character: U+EC00 (PRIVATE USE AREA: EC00)
      See Also:
        Constant Field Values

    - #### RTL_DIRECTION_MARKER

          public static final char RTL_DIRECTION_MARKER

      Example marker character: U+200F (RIGHT-TO-LEFT MARK)
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ReverseStringFilter

          public ReverseStringFilter(Version matchVersion,
                             TokenStream in)

      Create a new ReverseStringFilter that reverses all tokens in the supplied `TokenStream`.

      The reversed tokens will not be marked.

      Parameters:
        `matchVersion` - See above
        `in` - `TokenStream` to filter

    - #### ReverseStringFilter

          public ReverseStringFilter(Version matchVersion,
                             TokenStream in,
                             char marker)

      Create a new ReverseStringFilter that reverses and marks all tokens in the supplied `TokenStream`.

      The reversed tokens will be prepended (marked) by the `marker` character.

      Parameters:
        `matchVersion` - See above
        `in` - `TokenStream` to filter
        `marker` - A character used to mark reversed tokens

  - ### Method Detail

    - #### incrementToken

          public boolean incrementToken()
                                 throws IOException

      Specified by:
        `incrementToken` in class `TokenStream`
      Throws:
        `IOException`

    - #### reverse

          public static String reverse(Version matchVersion,
                       String input)

      Reverses the given input string
      Parameters:
        `matchVersion` - See above
        `input` - the string to reverse
      Returns:
        the given input string in reversed order

    - #### reverse

          public static void reverse(Version matchVersion,
                     char[] buffer)

      Reverses the given input buffer in-place
      Parameters:
        `matchVersion` - See above
        `buffer` - the input char array to reverse

    - #### reverse

          public static void reverse(Version matchVersion,
                     char[] buffer,
                     int len)

      Partially reverses the given input buffer in-place from offset 0 up to the given length.
      Parameters:
        `matchVersion` - See above
        `buffer` - the input char array to reverse
        `len` - the length in the buffer up to where the buffer should be reversed

    - #### reverse

          public static void reverse(Version matchVersion,
                     char[] buffer,
                     int start,
                     int len)

      Partially reverses the given input buffer in-place from the given offset up to the given length.
      Parameters:
        `matchVersion` - See above
        `buffer` - the input char array to reverse
        `start` - the offset from where to reverse the buffer
        `len` - the length in the buffer up to where the buffer should be reversed

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.