public class CharTermAttributeImpl extends AttributeImpl implements CharTermAttribute, TermToBytesRefAttribute, Cloneable
CharTermAttribute
.Modifier and Type | Field and Description |
---|---|
protected BytesRefBuilder |
builder
May be used by subclasses to convert to different charsets / encodings for implementing
getBytesRef() . |
Constructor and Description |
---|
CharTermAttributeImpl()
Initialize this attribute with empty term text
|
Modifier and Type | Method and Description |
---|---|
CharTermAttribute |
append(char c) |
CharTermAttribute |
append(CharSequence csq) |
CharTermAttribute |
append(CharSequence csq,
int start,
int end) |
CharTermAttribute |
append(CharTermAttribute ta)
Appends the contents of the other
CharTermAttribute to this character sequence. |
CharTermAttribute |
append(String s)
Appends the specified
String to this character sequence. |
CharTermAttribute |
append(StringBuilder s)
Appends the specified
StringBuilder to this character sequence. |
char[] |
buffer()
Returns the internal termBuffer character array which
you can then directly alter.
|
char |
charAt(int index) |
void |
clear()
Clears the values in this AttributeImpl and resets it to its
default value.
|
CharTermAttributeImpl |
clone()
In most cases the clone is, and should be, deep in order to be able to
properly capture the state of all attributes.
|
void |
copyBuffer(char[] buffer,
int offset,
int length)
Copies the contents of buffer, starting at offset for
length characters, into the termBuffer array.
|
void |
copyTo(AttributeImpl target)
Copies the values from this Attribute into the passed-in
target attribute.
|
boolean |
equals(Object other) |
BytesRef |
getBytesRef()
Retrieve this attribute's BytesRef.
|
int |
hashCode() |
int |
length() |
void |
reflectWith(AttributeReflector reflector)
This method is for introspection of attributes, it should simply
add the key/values this attribute holds to the given
AttributeReflector . |
char[] |
resizeBuffer(int newSize)
Grows the termBuffer to at least size newSize, preserving the
existing content.
|
CharTermAttribute |
setEmpty()
Sets the length of the termBuffer to zero.
|
CharTermAttribute |
setLength(int length)
Set number of valid characters (length of the term) in
the termBuffer array.
|
CharSequence |
subSequence(int start,
int end) |
String |
toString()
Returns solely the term text as specified by the
CharSequence interface. |
end, reflectAsString
finalize, getClass, notify, notifyAll, wait, wait, wait
chars, codePoints
protected BytesRefBuilder builder
getBytesRef()
.public CharTermAttributeImpl()
public final void copyBuffer(char[] buffer, int offset, int length)
CharTermAttribute
copyBuffer
in interface CharTermAttribute
buffer
- the buffer to copyoffset
- the index in the buffer of the first character to copylength
- the number of characters to copypublic final char[] buffer()
CharTermAttribute
CharTermAttribute.resizeBuffer(int)
to increase it. After
altering the buffer be sure to call CharTermAttribute.setLength(int)
to record the number of valid
characters that were placed into the termBuffer.
NOTE: The returned buffer may be larger than
the valid CharSequence.length()
.
buffer
in interface CharTermAttribute
public final char[] resizeBuffer(int newSize)
CharTermAttribute
resizeBuffer
in interface CharTermAttribute
newSize
- minimum size of the new termBufferlength >= newSize
public final CharTermAttribute setLength(int length)
CharTermAttribute
CharTermAttribute.resizeBuffer(int)
first.setLength
in interface CharTermAttribute
length
- the truncated lengthpublic final CharTermAttribute setEmpty()
CharTermAttribute
Appendable
interface.setEmpty
in interface CharTermAttribute
public BytesRef getBytesRef()
TermToBytesRefAttribute
getBytesRef
in interface TermToBytesRefAttribute
public final int length()
length
in interface CharSequence
public final char charAt(int index)
charAt
in interface CharSequence
public final CharSequence subSequence(int start, int end)
subSequence
in interface CharSequence
public final CharTermAttribute append(CharSequence csq)
append
in interface Appendable
append
in interface CharTermAttribute
public final CharTermAttribute append(CharSequence csq, int start, int end)
append
in interface Appendable
append
in interface CharTermAttribute
public final CharTermAttribute append(char c)
append
in interface Appendable
append
in interface CharTermAttribute
public final CharTermAttribute append(String s)
CharTermAttribute
String
to this character sequence.
The characters of the String
argument are appended, in order, increasing the length of
this sequence by the length of the argument. If argument is null
, then the four
characters "null"
are appended.
append
in interface CharTermAttribute
public final CharTermAttribute append(StringBuilder s)
CharTermAttribute
StringBuilder
to this character sequence.
The characters of the StringBuilder
argument are appended, in order, increasing the length of
this sequence by the length of the argument. If argument is null
, then the four
characters "null"
are appended.
append
in interface CharTermAttribute
public final CharTermAttribute append(CharTermAttribute ta)
CharTermAttribute
CharTermAttribute
to this character sequence.
The characters of the CharTermAttribute
argument are appended, in order, increasing the length of
this sequence by the length of the argument. If argument is null
, then the four
characters "null"
are appended.
append
in interface CharTermAttribute
public void clear()
AttributeImpl
clear
in class AttributeImpl
public CharTermAttributeImpl clone()
AttributeImpl
clone
in class AttributeImpl
public String toString()
CharSequence
interface.toString
in interface CharSequence
toString
in class Object
public void reflectWith(AttributeReflector reflector)
AttributeImpl
AttributeReflector
.
Implementations look like this (e.g. for a combined attribute implementation):
public void reflectWith(AttributeReflector reflector) { reflector.reflect(CharTermAttribute.class, "term", term()); reflector.reflect(PositionIncrementAttribute.class, "positionIncrement", getPositionIncrement()); }
If you implement this method, make sure that for each invocation, the same set of Attribute
interfaces and keys are passed to AttributeReflector.reflect(java.lang.Class<? extends org.apache.lucene.util.Attribute>, java.lang.String, java.lang.Object)
in the same order, but possibly
different values. So don't automatically exclude e.g. null
properties!
reflectWith
in class AttributeImpl
AttributeImpl.reflectAsString(boolean)
public void copyTo(AttributeImpl target)
AttributeImpl
copyTo
in class AttributeImpl
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.