## 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

    public final class ReverseStringFilter

extends org.apache.lucene.analysis.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
`org.apache.lucene.util.AttributeSource.AttributeFactory, org.apache.lucene.util.AttributeSource.State`

Field Summary
`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
`ReverseStringFilter(org.apache.lucene.analysis.TokenStream in)` Deprecated. use `ReverseStringFilter(Version, TokenStream)` instead. This constructor will be removed in Lucene 4.0
`ReverseStringFilter(org.apache.lucene.analysis.TokenStream in, char marker)` Deprecated. use `ReverseStringFilter(Version, TokenStream, char)` instead. This constructor will be removed in Lucene 4.0
`ReverseStringFilter(org.apache.lucene.util.Version matchVersion, org.apache.lucene.analysis.TokenStream in)` Create a new ReverseStringFilter that reverses all tokens in the supplied `TokenStream`.
`ReverseStringFilter(org.apache.lucene.util.Version matchVersion, org.apache.lucene.analysis.TokenStream in, char marker)` Create a new ReverseStringFilter that reverses and marks all tokens in the supplied `TokenStream`.

Method Summary
`boolean` `incrementToken()`
`static void` `reverse(char[] buffer)` Deprecated. use `reverse(Version, char[])` instead. This method will be removed in Lucene 4.0
`static void` `reverse(char[] buffer, int len)` Deprecated. use `reverse(Version, char[], int)` instead. This method will be removed in Lucene 4.0
`static void` `reverse(char[] buffer, int start, int len)` Deprecated. use `reverse(Version, char[], int, int)` instead. This method will be removed in Lucene 4.0
`static String` `reverse(String input)` Deprecated. use `reverse(Version, String)` instead. This method will be removed in Lucene 4.0
`static void` `reverse(org.apache.lucene.util.Version matchVersion, char[] buffer)` Reverses the given input buffer in-place
`static void` `reverse(org.apache.lucene.util.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(org.apache.lucene.util.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(org.apache.lucene.util.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, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, 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

    @Deprecated
    public ReverseStringFilter(org.apache.lucene.analysis.TokenStream in)

  Deprecated. use `ReverseStringFilter(Version, TokenStream)` instead. This constructor will be removed in Lucene 4.0

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

  The reversed tokens will not be marked.

  Parameters:
    `in` - `TokenStream` to filter

### ReverseStringFilter

    @Deprecated
    public ReverseStringFilter(org.apache.lucene.analysis.TokenStream in,
                                          char marker)

  Deprecated. use `ReverseStringFilter(Version, TokenStream, char)` instead. This constructor will be removed in Lucene 4.0

  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:
    `in` - `TokenStream` to filter
    `marker` - A character used to mark reversed tokens

### ReverseStringFilter

    public ReverseStringFilter(org.apache.lucene.util.Version matchVersion,
                               org.apache.lucene.analysis.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(org.apache.lucene.util.Version matchVersion,
                               org.apache.lucene.analysis.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 `org.apache.lucene.analysis.TokenStream`
  Throws:
    `IOException`

### reverse

    @Deprecated
    public static String reverse(String input)

  Deprecated. use `reverse(Version, String)` instead. This method will be removed in Lucene 4.0

  Reverses the given input string

  Parameters:
    `input` - the string to reverse
  Returns:
    the given input string in reversed order

### reverse

    public static String reverse(org.apache.lucene.util.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

    @Deprecated
    public static void reverse(char[] buffer)

  Deprecated. use `reverse(Version, char[])` instead. This method will be removed in Lucene 4.0

  Reverses the given input buffer in-place

  Parameters:
    `buffer` - the input char array to reverse

### reverse

    public static void reverse(org.apache.lucene.util.Version matchVersion,
                               char[] buffer)

  Reverses the given input buffer in-place

  Parameters:
    `matchVersion` - See above
    `buffer` - the input char array to reverse

### reverse

    @Deprecated
    public static void reverse(char[] buffer,
                                          int len)

  Deprecated. use `reverse(Version, char[], int)` instead. This method will be removed in Lucene 4.0

  Partially reverses the given input buffer in-place from offset 0 up to the given length.

  Parameters:
    `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(org.apache.lucene.util.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

    @Deprecated
    public static void reverse(char[] buffer,
                                          int start,
                                          int len)

  Deprecated. use `reverse(Version, char[], int, int)` instead. This method will be removed in Lucene 4.0

  Partially reverses the given input buffer in-place from the given offset up to the given length.

  Parameters:
    `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

### reverse

    public static void reverse(org.apache.lucene.util.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