org.apache.lucene.util

## Class CharsRef

- java.lang.Object
- - org.apache.lucene.util.CharsRef

- All Implemented Interfaces:
    CharSequence, Cloneable, Comparable<CharsRef>

      public final class CharsRef
      extends Object
      implements Comparable<CharsRef>, CharSequence, Cloneable

  Represents char[], as a slice (offset + length) into an existing char[]. The `chars` member should never be null; use `EMPTY_CHARS` if necessary.
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `char[]` | `chars` The contents of the CharsRef.
    `static char[]` | `EMPTY_CHARS` An empty character array for convenience
    `int` | `length` Length of used characters.
    `int` | `offset` Offset of first valid character.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CharsRef()` Creates a new `CharsRef` initialized an empty array zero-length
    `CharsRef(char[] chars, int offset, int length)` Creates a new `CharsRef` initialized with the given array, offset and length
    `CharsRef(int capacity)` Creates a new `CharsRef` initialized with an array of the given capacity
    `CharsRef(String string)` Creates a new `CharsRef` initialized with the given Strings character array

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `append(char[] otherChars, int otherOffset, int otherLength)` Appends the given array to this CharsRef
    `char` | `charAt(int index)`
    `boolean` | `charsEquals(CharsRef other)`
    `CharsRef` | `clone()`
    `int` | `compareTo(CharsRef other)` Signed int order comparison
    `void` | `copyChars(char[] otherChars, int otherOffset, int otherLength)` Copies the given array into this CharsRef.
    `void` | `copyChars(CharsRef other)` Copies the given `CharsRef` referenced content into this instance.
    `static CharsRef` | `deepCopyOf(CharsRef other)` Creates a new CharsRef that points to a copy of the chars from `other`
    `boolean` | `equals(Object other)`
    `static Comparator<CharsRef>` | `getUTF16SortedAsUTF8Comparator()` Deprecated. This comparator is only a transition mechanism
    `void` | `grow(int newLength)` Used to grow the reference array.
    `int` | `hashCode()`
    `boolean` | `isValid()` Performs internal consistency checks.
    `int` | `length()`
    `CharSequence` | `subSequence(int start, int end)`
    `String` | `toString()`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### EMPTY_CHARS

          public static final char[] EMPTY_CHARS

      An empty character array for convenience

    - #### chars

          public char[] chars

      The contents of the CharsRef. Should never be `null`.

    - #### offset

          public int offset

      Offset of first valid character.

    - #### length

          public int length

      Length of used characters.

  - ### Constructor Detail

    - #### CharsRef

          public CharsRef()

      Creates a new `CharsRef` initialized an empty array zero-length

    - #### CharsRef

          public CharsRef(int capacity)

      Creates a new `CharsRef` initialized with an array of the given capacity

    - #### CharsRef

          public CharsRef(char[] chars,
                  int offset,
                  int length)

      Creates a new `CharsRef` initialized with the given array, offset and length

    - #### CharsRef

          public CharsRef(String string)

      Creates a new `CharsRef` initialized with the given Strings character array

  - ### Method Detail

    - #### clone

          public CharsRef clone()

      Overrides:
        `clone` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object other)

      Overrides:
        `equals` in class `Object`

    - #### charsEquals

          public boolean charsEquals(CharsRef other)

    - #### compareTo

          public int compareTo(CharsRef other)

      Signed int order comparison
      Specified by:
        `compareTo` in interface `Comparable<CharsRef>`

    - #### copyChars

          public void copyChars(CharsRef other)

      Copies the given `CharsRef` referenced content into this instance.
      Parameters:
        `other` - the `CharsRef` to copy

    - #### grow

          public void grow(int newLength)

      Used to grow the reference array. In general this should not be used as it does not take the offset into account.
      NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

    - #### copyChars

          public void copyChars(char[] otherChars,
                       int otherOffset,
                       int otherLength)

      Copies the given array into this CharsRef.

    - #### append

          public void append(char[] otherChars,
                    int otherOffset,
                    int otherLength)

      Appends the given array to this CharsRef

    - #### toString

          public String toString()

      Specified by:
        `toString` in interface `CharSequence`
      Overrides:
        `toString` in class `Object`

    - #### length

          public int length()

      Specified by:
        `length` in interface `CharSequence`

    - #### charAt

          public char charAt(int index)

      Specified by:
        `charAt` in interface `CharSequence`

    - #### subSequence

          public CharSequence subSequence(int start,
                                 int end)

      Specified by:
        `subSequence` in interface `CharSequence`

    - #### getUTF16SortedAsUTF8Comparator

          @Deprecated
          public static Comparator<CharsRef> getUTF16SortedAsUTF8Comparator()

      Deprecated. This comparator is only a transition mechanism

    - #### deepCopyOf

          public static CharsRef deepCopyOf(CharsRef other)

      Creates a new CharsRef that points to a copy of the chars from `other`

      The returned CharsRef will have a length of other.length and an offset of zero.

    - #### isValid

          public boolean isValid()

      Performs internal consistency checks. Always returns true (or throws IllegalStateException)

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