Lucene++ - a full-featured, c++ search engine
API Documentation

Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
Lucene::TermAttribute Class Reference

The term text of a Token. More...

`#include <TermAttribute.h>`

Inheritance diagram for Lucene::TermAttribute:

## Public Member Functions

| TermAttribute ()
virtual | ~TermAttribute ()
virtual String | getClassName ()
boost::shared_ptr< TermAttribute > | shared_from_this ()
virtual String | toString ()
| Returns a string representation of the object. More...
virtual String | term ()
| Returns the Token's term text. More...
virtual void | setTermBuffer (const wchar_t *buffer, int32_t offset, int32_t length)
| Copies the contents of buffer, starting at offset for length characters, into the termBuffer array. More...
virtual void | setTermBuffer (const String &buffer)
| Copies the contents of buffer into the termBuffer array. More...
virtual CharArray | 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 to record the number of valid characters that were placed into the termBuffer. More...
virtual wchar_t * | termBufferArray ()
| Optimized implementation of termBuffer. More...
virtual CharArray | resizeTermBuffer (int32_t 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. More...
virtual int32_t | termLength ()
| Return number of valid characters (length of the term) in the termBuffer array. More...
virtual void | setTermLength (int32_t 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. More...
virtual int32_t | hashCode ()
| Subclasses must implement this method and should compute a hashCode similar to this: More...
virtual void | clear ()
| Clears the values in this Attribute and resets it to its default value. If this implementation implements more than one Attribute interface it clears all. More...
virtual LuceneObjectPtr | clone (const LuceneObjectPtr &other=LuceneObjectPtr())
| Shallow clone. Subclasses must override this if they need to clone any members deeply. More...
virtual bool | equals (const LuceneObjectPtr &other)
| All values used for computation of hashCode() should be checked here for equality. More...
virtual void | copyTo (const AttributePtr &target)
| Copies the values from this Attribute into the passed-in target attribute. The target implementation must support all the Attributes this implementation supports. More...
Public Member Functions inherited from Lucene::Attribute
virtual | ~Attribute ()
boost::shared_ptr< Attribute > | shared_from_this ()
Public Member Functions inherited from Lucene::LuceneObject
virtual | ~LuceneObject ()
virtual void | initialize ()
| Called directly after instantiation to create objects that depend on this object being fully constructed. More...
virtual int32_t | compareTo (const LuceneObjectPtr &other)
| Compare two objects. More...
Public Member Functions inherited from Lucene::LuceneSync
virtual | ~LuceneSync ()
virtual SynchronizePtr | getSync ()
| Return this object synchronize lock. More...
virtual LuceneSignalPtr | getSignal ()
| Return this object signal. More...
virtual void | lock (int32_t timeout=0)
| Lock this object using an optional timeout. More...
virtual void | unlock ()
| Unlock this object. More...
virtual bool | holdsLock ()
| Returns true if this object is currently locked by current thread. More...
virtual void | wait (int32_t timeout=0)
| Wait for signal using an optional timeout. More...
virtual void | notifyAll ()
| Notify all threads waiting for signal. More...

## Static Public Member Functions

static String | _getClassName ()
Static Public Member Functions inherited from Lucene::Attribute
static String | _getClassName ()

## Protected Member Functions

void | growTermBuffer (int32_t newSize)
| Allocates a buffer char[] of at least newSize, without preserving the existing content. Its always used in places that set the content. More...
void | initTermBuffer ()
Protected Member Functions inherited from Lucene::LuceneObject
| LuceneObject ()

## Protected Attributes

CharArray | _termBuffer
int32_t | _termLength
Protected Attributes inherited from Lucene::LuceneSync
SynchronizePtr | objectLock
LuceneSignalPtr | objectSignal

## Static Protected Attributes

static const int32_t | MIN_BUFFER_SIZE

## Detailed Description

The term text of a Token.

## Constructor & Destructor Documentation

## ◆ TermAttribute()

Lucene::TermAttribute::TermAttribute | ( |  | ) |

## ◆ ~TermAttribute()

virtual Lucene::TermAttribute::~TermAttribute | ( |  | ) |

virtual

## Member Function Documentation

## ◆ _getClassName()

static String Lucene::TermAttribute::_getClassName | ( |  | ) |

inline static

## ◆ clear()

virtual void Lucene::TermAttribute::clear | ( |  | ) |

virtual

Clears the values in this Attribute and resets it to its default value. If this implementation implements more than one Attribute interface it clears all.

Implements Lucene::Attribute.

## ◆ clone()

virtual LuceneObjectPtr Lucene::TermAttribute::clone | ( | const LuceneObjectPtr & | other = `LuceneObjectPtr()` | ) |

virtual

Shallow clone. Subclasses must override this if they need to clone any members deeply.

Parameters

  base | clone reference - null when called initially, then set in top virtual override.

Implements Lucene::Attribute.

## ◆ copyTo()

virtual void Lucene::TermAttribute::copyTo | ( | const AttributePtr & | target | ) |

virtual

Copies the values from this Attribute into the passed-in target attribute. The target implementation must support all the Attributes this implementation supports.

Implements Lucene::Attribute.

## ◆ equals()

virtual bool Lucene::TermAttribute::equals | ( | const LuceneObjectPtr & | other | ) |

virtual

All values used for computation of hashCode() should be checked here for equality.

see also LuceneObject#equals(Object)

Implements Lucene::Attribute.

## ◆ getClassName()

virtual String Lucene::TermAttribute::getClassName | ( |  | ) |

inline virtual

Reimplemented from Lucene::Attribute.

## ◆ growTermBuffer()

void Lucene::TermAttribute::growTermBuffer | ( | int32_t | newSize | ) |

protected

Allocates a buffer char[] of at least newSize, without preserving the existing content. Its always used in places that set the content.

Parameters

  newSize | minimum size of the buffer

## ◆ hashCode()

virtual int32_t Lucene::TermAttribute::hashCode | ( |  | ) |

virtual

Subclasses must implement this method and should compute a hashCode similar to this:

int32_t hashCode() { int32_t code = startOffset; code = code * 31 + endOffset; return code; }

see also equals(Object)

Implements Lucene::Attribute.

## ◆ initTermBuffer()

void Lucene::TermAttribute::initTermBuffer | ( |  | ) |

protected

## ◆ resizeTermBuffer()

virtual CharArray Lucene::TermAttribute::resizeTermBuffer | ( | int32_t | newSize | ) |

virtual

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

## ◆ setTermBuffer() [1/2]

virtual void Lucene::TermAttribute::setTermBuffer | ( | const wchar_t * | buffer,
|  | int32_t | offset,
|  | int32_t | length
| ) |  |

virtual

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() [2/2]

virtual void Lucene::TermAttribute::setTermBuffer | ( | const String & | buffer | ) |

virtual

Copies the contents of buffer into the termBuffer array.

Parameters

  buffer | the buffer to copy

## ◆ setTermLength()

virtual void Lucene::TermAttribute::setTermLength | ( | int32_t | length | ) |

virtual

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

## ◆ shared_from_this()

boost::shared_ptr< TermAttribute > Lucene::TermAttribute::shared_from_this | ( |  | ) |

inline

## ◆ term()

virtual String Lucene::TermAttribute::term | ( |  | ) |

virtual

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())

## ◆ termBuffer()

virtual CharArray Lucene::TermAttribute::termBuffer | ( |  | ) |

virtual

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 to record the number of valid characters that were placed into the termBuffer.

## ◆ termBufferArray()

virtual wchar_t* Lucene::TermAttribute::termBufferArray | ( |  | ) |

virtual

Optimized implementation of termBuffer.

## ◆ termLength()

virtual int32_t Lucene::TermAttribute::termLength | ( |  | ) |

virtual

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

## ◆ toString()

virtual String Lucene::TermAttribute::toString | ( |  | ) |

virtual

Returns a string representation of the object.

Reimplemented from Lucene::LuceneObject.

## Field Documentation

## ◆ _termBuffer

CharArray Lucene::TermAttribute::_termBuffer

protected

## ◆ _termLength

int32_t Lucene::TermAttribute::_termLength

protected

## ◆ MIN_BUFFER_SIZE

const int32_t Lucene::TermAttribute::MIN_BUFFER_SIZE

static protected

The documentation for this class was generated from the following file:

- TermAttribute.h

clucene.sourceforge.net