public class OffsetAttributeImpl extends AttributeImpl implements OffsetAttribute, Cloneable
OffsetAttribute
.Constructor and Description |
---|
OffsetAttributeImpl()
Initialize this attribute with startOffset and endOffset of 0.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clears the values in this AttributeImpl and resets it to its
default value.
|
void |
copyTo(AttributeImpl target)
Copies the values from this Attribute into the passed-in
target attribute.
|
int |
endOffset()
Returns this Token's ending offset, one greater than the position of the
last character corresponding to this token in the source text.
|
boolean |
equals(Object other) |
int |
hashCode() |
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 . |
void |
setOffset(int startOffset,
int endOffset)
Set the starting and ending offset.
|
int |
startOffset()
Returns this Token's starting offset, the position of the first character
corresponding to this token in the source text.
|
clone, reflectAsString
public OffsetAttributeImpl()
public int startOffset()
OffsetAttribute
Note that the difference between OffsetAttribute.endOffset()
and startOffset()
may not be equal to termText.length(), as the term text may have been altered by a
stemmer or some other filter.
startOffset
in interface OffsetAttribute
OffsetAttribute.setOffset(int, int)
public void setOffset(int startOffset, int endOffset)
OffsetAttribute
setOffset
in interface OffsetAttribute
OffsetAttribute.startOffset()
,
OffsetAttribute.endOffset()
public int endOffset()
OffsetAttribute
endOffset()
- OffsetAttribute.startOffset()
).endOffset
in interface OffsetAttribute
OffsetAttribute.setOffset(int, int)
public void clear()
AttributeImpl
clear
in class AttributeImpl
public void copyTo(AttributeImpl target)
AttributeImpl
copyTo
in class AttributeImpl
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!
Important for migration to Lucene 6: The default implementation is
implemented for backwards compatibility in Lucene 5 and 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.
Please don't use the default implementation anymore, because it will be made abstract in Lucene 6! See above for implementation example.
reflectWith
in class AttributeImpl
AttributeImpl.reflectAsString(boolean)
Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.