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.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    char[]
    The contents of the CharsRef.
    static final char[]
    An empty character array for convenience
    int
    Length of used characters.
    int
    Offset of first valid character.
  • Constructor Summary

    Constructors
    Constructor
    Description
    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

    Modifier and Type
    Method
    Description
    void
    append(char[] otherChars, int otherOffset, int otherLength)
    Appends the given array to this CharsRef
    char
    charAt(int index)
     
    boolean
     
    Returns a shallow clone of this instance (the underlying characters are not copied and will be shared by both the returned object and this object.
    int
    Signed int order comparison
    void
    copyChars(char[] otherChars, int otherOffset, int otherLength)
    Copies the given array into this CharsRef.
    void
    Copies the given CharsRef referenced content into this instance.
    static CharsRef
    Creates a new CharsRef that points to a copy of the chars from other
    boolean
    equals(Object other)
     
    Deprecated.
    This comparator is only a transition mechanism
    void
    grow(int newLength)
    Used to grow the reference array.
    int
     
    boolean
    Performs internal consistency checks.
    int
     
    subSequence(int start, int end)
     
     

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface java.lang.CharSequence

    chars, codePoints
  • Field Details

    • 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 Details

    • 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 Details

    • clone

      public CharsRef clone()
      Returns a shallow clone of this instance (the underlying characters are not copied and will be shared by both the returned object and this object.
      Overrides:
      clone in class Object
      See Also:
    • 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.
    • 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)