Package morfologik.stemming
Class WordData
- java.lang.Object
-
- morfologik.stemming.WordData
-
- All Implemented Interfaces:
Cloneable
public final class WordData extends Object implements Cloneable
Stem and tag data associated with a given word. Instances of this class are reused and mutable (values returned fromgetStem()
,getWord()
and other related methods change on subsequent calls toDictionaryLookup
class that returned a given instance ofWordData
. If you need a copy of the stem or tag data for a given word, you have to create a custom buffer yourself and copy the associated data, performclone()
or create strings (they are immutable) usinggetStem()
and thenCharSequence.toString()
. For reasons above it makes no sense to use instances of this class in associative containers or lists. In fact, bothequals(Object)
andhashCode()
are overridden and throw exceptions to prevent accidental damage.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WordData
clone()
Declare a covariant ofObject.clone()
that returns a deep copy of this object.boolean
equals(Object obj)
CharSequence
getStem()
ByteBuffer
getStemBytes(ByteBuffer target)
Copy the stem's binary data (no charset decoding) to a custom byte buffer.CharSequence
getTag()
ByteBuffer
getTagBytes(ByteBuffer target)
Copy the tag's binary data (no charset decoding) to a custom byte buffer.CharSequence
getWord()
ByteBuffer
getWordBytes(ByteBuffer target)
Copy the inflected word's binary data (no charset decoding) to a custom byte buffer.int
hashCode()
String
toString()
-
-
-
Method Detail
-
getStemBytes
public ByteBuffer getStemBytes(ByteBuffer target)
Copy the stem's binary data (no charset decoding) to a custom byte buffer. The buffer is cleared prior to copying and flipped for reading upon returning from this method. If the buffer is null or not large enough to hold the result, a new buffer is allocated.- Parameters:
target
- Target byte buffer to copy the stem buffer to ornull
if a new buffer should be allocated.- Returns:
- Returns
target
or the new reallocated buffer.
-
getTagBytes
public ByteBuffer getTagBytes(ByteBuffer target)
Copy the tag's binary data (no charset decoding) to a custom byte buffer. The buffer is cleared prior to copying and flipped for reading upon returning from this method. If the buffer is null or not large enough to hold the result, a new buffer is allocated.- Parameters:
target
- Target byte buffer to copy the tag buffer to ornull
if a new buffer should be allocated.- Returns:
- Returns
target
or the new reallocated buffer.
-
getWordBytes
public ByteBuffer getWordBytes(ByteBuffer target)
Copy the inflected word's binary data (no charset decoding) to a custom byte buffer. The buffer is cleared prior to copying and flipped for reading upon returning from this method. If the buffer is null or not large enough to hold the result, a new buffer is allocated.- Parameters:
target
- Target byte buffer to copy the word buffer to ornull
if a new buffer should be allocated.- Returns:
- Returns
target
or the new reallocated buffer.
-
getTag
public CharSequence getTag()
- Returns:
- Return tag data decoded to a character sequence or
null
if no associated tag data exists.
-
getStem
public CharSequence getStem()
- Returns:
- Return stem data decoded to a character sequence or
null
if no associated stem data exists.
-
getWord
public CharSequence getWord()
- Returns:
- Return inflected word form data. Usually the parameter passed to
DictionaryLookup.lookup(CharSequence)
.
-
clone
public WordData clone()
Declare a covariant ofObject.clone()
that returns a deep copy of this object. The content of all internal buffers is copied.
-
-