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
          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
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()
          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 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()
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:
deepCopyOf(org.apache.lucene.util.CharsRef)

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.