org.apache.lucene.util
Class CharsRef

java.lang.Object
  extended by 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
 char[] chars
           
static char[] EMPTY_CHARS
           
 int length
           
 int offset
           
 
Constructor Summary
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
 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 starting at offset 0
 void copyChars(CharsRef other)
          Copies the given CharsRef referenced content into this instance starting at offset 0.
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()
           
 void grow(int newLength)
           
 int hashCode()
           
 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

chars

public char[] chars

offset

public int offset

length

public int length
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 starting at offset 0.

Parameters:
other - the CharsRef to copy

grow

public void grow(int newLength)

copyChars

public void copyChars(char[] otherChars,
                      int otherOffset,
                      int otherLength)
Copies the given array into this CharsRef starting at offset 0


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

public static Comparator<CharsRef> getUTF16SortedAsUTF8Comparator()

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.