Class CharTermAttributeImpl
- java.lang.Object
-
- org.apache.lucene.util.AttributeImpl
-
- org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl
-
- All Implemented Interfaces:
Serializable,Appendable,CharSequence,Cloneable,CharTermAttribute,TermAttribute,Attribute
- Direct Known Subclasses:
TermAttributeImpl
public class CharTermAttributeImpl extends AttributeImpl implements CharTermAttribute, TermAttribute, Cloneable, Serializable
The term text of a Token.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.util.AttributeImpl
enableBackwards
-
-
Constructor Summary
Constructors Constructor Description CharTermAttributeImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description CharTermAttributeappend(char c)CharTermAttributeappend(CharSequence csq)CharTermAttributeappend(CharSequence csq, int start, int end)CharTermAttributeappend(String s)Appends the specifiedStringto this character sequence.CharTermAttributeappend(StringBuilder s)Appends the specifiedStringBuilderto this character sequence.CharTermAttributeappend(CharTermAttribute ta)Appends the contents of the otherCharTermAttributeto this character sequence.char[]buffer()Returns the internal termBuffer character array which you can then directly alter.charcharAt(int index)voidclear()Clears the values in this AttributeImpl and resets it to its default value.Objectclone()Shallow clone.voidcopyBuffer(char[] buffer, int offset, int length)Copies the contents of buffer, starting at offset for length characters, into the termBuffer array.voidcopyTo(AttributeImpl target)Copies the values from this Attribute into the passed-in target attribute.booleanequals(Object other)inthashCode()intlength()voidreflectWith(AttributeReflector reflector)This method is for introspection of attributes, it should simply add the key/values this attribute holds to the givenAttributeReflector.char[]resizeBuffer(int newSize)Grows the termBuffer to at least size newSize, preserving the existing content.char[]resizeTermBuffer(int newSize)Deprecated.CharTermAttributesetEmpty()Sets the length of the termBuffer to zero.CharTermAttributesetLength(int length)Set number of valid characters (length of the term) in the termBuffer array.voidsetTermBuffer(char[] buffer, int offset, int length)Deprecated.voidsetTermBuffer(String buffer)Deprecated.voidsetTermBuffer(String buffer, int offset, int length)Deprecated.voidsetTermLength(int length)Deprecated.CharSequencesubSequence(int start, int end)Stringterm()Deprecated.char[]termBuffer()Deprecated.inttermLength()Deprecated.StringtoString()Returns solely the term text as specified by theCharSequenceinterface.-
Methods inherited from class org.apache.lucene.util.AttributeImpl
reflectAsString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.CharSequence
chars, codePoints
-
-
-
-
Method Detail
-
term
@Deprecated public String term()
Deprecated.Description copied from interface:TermAttributeReturns the Token's term text. This method has a performance penalty because the text is stored internally in a char[]. If possible, useTermAttribute.termBuffer()andTermAttribute.termLength()directly instead. If you really need a String, use this method, which is nothing more than a convenience call to new String(token.termBuffer(), 0, token.termLength())- Specified by:
termin interfaceTermAttribute
-
copyBuffer
public final void copyBuffer(char[] buffer, int offset, int length)Description copied from interface:CharTermAttributeCopies the contents of buffer, starting at offset for length characters, into the termBuffer array.- Specified by:
copyBufferin interfaceCharTermAttribute- Parameters:
buffer- the buffer to copyoffset- the index in the buffer of the first character to copylength- the number of characters to copy
-
setTermBuffer
@Deprecated public void setTermBuffer(char[] buffer, int offset, int length)
Deprecated.Description copied from interface:TermAttributeCopies the contents of buffer, starting at offset for length characters, into the termBuffer array.- Specified by:
setTermBufferin interfaceTermAttribute- Parameters:
buffer- the buffer to copyoffset- the index in the buffer of the first character to copylength- the number of characters to copy
-
setTermBuffer
@Deprecated public void setTermBuffer(String buffer)
Deprecated.Description copied from interface:TermAttributeCopies the contents of buffer into the termBuffer array.- Specified by:
setTermBufferin interfaceTermAttribute- Parameters:
buffer- the buffer to copy
-
setTermBuffer
@Deprecated public void setTermBuffer(String buffer, int offset, int length)
Deprecated.Description copied from interface:TermAttributeCopies the contents of buffer, starting at offset and continuing for length characters, into the termBuffer array.- Specified by:
setTermBufferin interfaceTermAttribute- Parameters:
buffer- the buffer to copyoffset- the index in the buffer of the first character to copylength- the number of characters to copy
-
buffer
public final char[] buffer()
Description copied from interface:CharTermAttributeReturns the internal termBuffer character array which you can then directly alter. If the array is too small for your token, useCharTermAttribute.resizeBuffer(int)to increase it. After altering the buffer be sure to callCharTermAttribute.setLength(int)to record the number of valid characters that were placed into the termBuffer.- Specified by:
bufferin interfaceCharTermAttribute
-
termBuffer
@Deprecated public char[] termBuffer()
Deprecated.Description copied from interface:TermAttributeReturns the internal termBuffer character array which you can then directly alter. If the array is too small for your token, useTermAttribute.resizeTermBuffer(int)to increase it. After altering the buffer be sure to callTermAttribute.setTermLength(int)to record the number of valid characters that were placed into the termBuffer.- Specified by:
termBufferin interfaceTermAttribute
-
resizeBuffer
public final char[] resizeBuffer(int newSize)
Description copied from interface:CharTermAttributeGrows the termBuffer to at least size newSize, preserving the existing content.- Specified by:
resizeBufferin interfaceCharTermAttribute- Parameters:
newSize- minimum size of the new termBuffer- Returns:
- newly created termBuffer with length >= newSize
-
resizeTermBuffer
@Deprecated public char[] resizeTermBuffer(int newSize)
Deprecated.Description copied from interface:TermAttributeGrows the termBuffer to at least size newSize, preserving the existing content. Note: If the next operation is to change the contents of the term buffer useTermAttribute.setTermBuffer(char[], int, int),TermAttribute.setTermBuffer(String), orTermAttribute.setTermBuffer(String, int, int)to optimally combine the resize with the setting of the termBuffer.- Specified by:
resizeTermBufferin interfaceTermAttribute- Parameters:
newSize- minimum size of the new termBuffer- Returns:
- newly created termBuffer with length >= newSize
-
termLength
@Deprecated public int termLength()
Deprecated.Description copied from interface:TermAttributeReturn number of valid characters (length of the term) in the termBuffer array.- Specified by:
termLengthin interfaceTermAttribute
-
setLength
public final CharTermAttribute setLength(int length)
Description copied from interface:CharTermAttributeSet number of valid characters (length of the term) in the termBuffer array. Use this to truncate the termBuffer or to synchronize with external manipulation of the termBuffer. Note: to grow the size of the array, useCharTermAttribute.resizeBuffer(int)first.- Specified by:
setLengthin interfaceCharTermAttribute- Parameters:
length- the truncated length
-
setEmpty
public final CharTermAttribute setEmpty()
Description copied from interface:CharTermAttributeSets the length of the termBuffer to zero. Use this method before appending contents using theAppendableinterface.- Specified by:
setEmptyin interfaceCharTermAttribute
-
setTermLength
@Deprecated public void setTermLength(int length)
Deprecated.Description copied from interface:TermAttributeSet number of valid characters (length of the term) in the termBuffer array. Use this to truncate the termBuffer or to synchronize with external manipulation of the termBuffer. Note: to grow the size of the array, useTermAttribute.resizeTermBuffer(int)first.- Specified by:
setTermLengthin interfaceTermAttribute- Parameters:
length- the truncated length
-
length
public final int length()
- Specified by:
lengthin interfaceCharSequence
-
charAt
public final char charAt(int index)
- Specified by:
charAtin interfaceCharSequence
-
subSequence
public final CharSequence subSequence(int start, int end)
- Specified by:
subSequencein interfaceCharSequence
-
append
public final CharTermAttribute append(CharSequence csq)
- Specified by:
appendin interfaceAppendable- Specified by:
appendin interfaceCharTermAttribute
-
append
public final CharTermAttribute append(CharSequence csq, int start, int end)
- Specified by:
appendin interfaceAppendable- Specified by:
appendin interfaceCharTermAttribute
-
append
public final CharTermAttribute append(char c)
- Specified by:
appendin interfaceAppendable- Specified by:
appendin interfaceCharTermAttribute
-
append
public final CharTermAttribute append(String s)
Description copied from interface:CharTermAttributeAppends the specifiedStringto this character sequence.The characters of the
Stringargument are appended, in order, increasing the length of this sequence by the length of the argument. If argument isnull, then the four characters"null"are appended.- Specified by:
appendin interfaceCharTermAttribute
-
append
public final CharTermAttribute append(StringBuilder s)
Description copied from interface:CharTermAttributeAppends the specifiedStringBuilderto this character sequence.The characters of the
StringBuilderargument are appended, in order, increasing the length of this sequence by the length of the argument. If argument isnull, then the four characters"null"are appended.- Specified by:
appendin interfaceCharTermAttribute
-
append
public final CharTermAttribute append(CharTermAttribute ta)
Description copied from interface:CharTermAttributeAppends the contents of the otherCharTermAttributeto this character sequence.The characters of the
CharTermAttributeargument are appended, in order, increasing the length of this sequence by the length of the argument. If argument isnull, then the four characters"null"are appended.- Specified by:
appendin interfaceCharTermAttribute
-
clear
public void clear()
Description copied from class:AttributeImplClears the values in this AttributeImpl and resets it to its default value. If this implementation implements more than one Attribute interface it clears all.- Specified by:
clearin classAttributeImpl
-
clone
public Object clone()
Description copied from class:AttributeImplShallow clone. Subclasses must override this if they need to clone any members deeply,- Overrides:
clonein classAttributeImpl
-
toString
public String toString()
Returns solely the term text as specified by theCharSequenceinterface.This method changed the behavior with Lucene 3.1, before it returned a String representation of the whole term with all attributes. This affects especially the
Tokensubclass.- Specified by:
toStringin interfaceCharSequence- Overrides:
toStringin classAttributeImpl
-
reflectWith
public void reflectWith(AttributeReflector reflector)
Description copied from class:AttributeImplThis method is for introspection of attributes, it should simply add the key/values this attribute holds to the givenAttributeReflector.The default implementation calls
AttributeReflector.reflect(java.lang.Class<? extends org.apache.lucene.util.Attribute>, java.lang.String, java.lang.Object)for all non-static fields from the implementing class, using the field name as key and the field value as value. The Attribute class is also determined by reflection. Please note that the default implementation can only handle single-Attribute implementations.Custom 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
Attributeinterfaces and keys are passed toAttributeReflector.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.nullproperties!- Overrides:
reflectWithin classAttributeImpl- See Also:
AttributeImpl.reflectAsString(boolean)
-
copyTo
public void copyTo(AttributeImpl target)
Description copied from class:AttributeImplCopies the values from this Attribute into the passed-in target attribute. The target implementation must support all the Attributes this implementation supports.- Specified by:
copyToin classAttributeImpl
-
-