org.apache.lucene.analysis.tokenattributes
Interface TermAttribute

All Superinterfaces:
Attribute
All Known Implementing Classes:
TermAttributeImpl, Token

public interface TermAttribute
extends Attribute

The term text of a Token.


Method Summary
 char[] resizeTermBuffer(int newSize)
          Grows the termBuffer to at least size newSize, preserving the existing content.
 void setTermBuffer(char[] buffer, int offset, int length)
          Copies the contents of buffer, starting at offset for length characters, into the termBuffer array.
 void setTermBuffer(String buffer)
          Copies the contents of buffer into the termBuffer array.
 void setTermBuffer(String buffer, int offset, int length)
          Copies the contents of buffer, starting at offset and continuing for length characters, into the termBuffer array.
 void setTermLength(int length)
          Set number of valid characters (length of the term) in the termBuffer array.
 String term()
          Returns the Token's term text.
 char[] termBuffer()
          Returns the internal termBuffer character array which you can then directly alter.
 int termLength()
          Return number of valid characters (length of the term) in the termBuffer array.
 

Method Detail

term

String term()
Returns the Token's term text. This method has a performance penalty because the text is stored internally in a char[]. If possible, use termBuffer() and 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())


setTermBuffer

void setTermBuffer(char[] buffer,
                   int offset,
                   int length)
Copies the contents of buffer, starting at offset for length characters, into the termBuffer array.

Parameters:
buffer - the buffer to copy
offset - the index in the buffer of the first character to copy
length - the number of characters to copy

setTermBuffer

void setTermBuffer(String buffer)
Copies the contents of buffer into the termBuffer array.

Parameters:
buffer - the buffer to copy

setTermBuffer

void setTermBuffer(String buffer,
                   int offset,
                   int length)
Copies the contents of buffer, starting at offset and continuing for length characters, into the termBuffer array.

Parameters:
buffer - the buffer to copy
offset - the index in the buffer of the first character to copy
length - the number of characters to copy

termBuffer

char[] termBuffer()
Returns the internal termBuffer character array which you can then directly alter. If the array is too small for your token, use resizeTermBuffer(int) to increase it. After altering the buffer be sure to call setTermLength(int) to record the number of valid characters that were placed into the termBuffer.


resizeTermBuffer

char[] resizeTermBuffer(int newSize)
Grows 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 use setTermBuffer(char[], int, int), setTermBuffer(String), or setTermBuffer(String, int, int) to optimally combine the resize with the setting of the termBuffer.

Parameters:
newSize - minimum size of the new termBuffer
Returns:
newly created termBuffer with length >= newSize

termLength

int termLength()
Return number of valid characters (length of the term) in the termBuffer array.


setTermLength

void setTermLength(int length)
Set 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, use resizeTermBuffer(int) first.

Parameters:
length - the truncated length


Copyright © 2000-2010 Apache Software Foundation. All Rights Reserved.