public static final class NumericTokenStream.NumericTermAttributeImpl extends AttributeImpl implements NumericTokenStream.NumericTermAttribute, TermToBytesRefAttribute
NumericTokenStream.NumericTermAttribute
.Constructor and Description |
---|
NumericTokenStream.NumericTermAttributeImpl()
Creates, but does not yet initialize this attribute instance
|
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 |
fillBytesRef()
Updates the bytes
TermToBytesRefAttribute.getBytesRef() to contain this term's
final encoding, and returns its hashcode. |
BytesRef |
getBytesRef()
Retrieve this attribute's BytesRef.
|
long |
getRawValue()
Returns current token's raw value as
long with all NumericTokenStream.NumericTermAttribute.getShift() applied, undefined before first token |
int |
getShift()
Returns current shift value, undefined before first token
|
int |
getValueSize()
Returns value size in bits (32 for
float , int ; 64 for double , long ) |
int |
incShift()
Don't call this method!
|
void |
init(long value,
int valueSize,
int precisionStep,
int shift)
Don't call this method!
|
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 |
setShift(int shift)
Don't call this method!
|
clone, reflectAsString
public NumericTokenStream.NumericTermAttributeImpl()
init(long, int, int, int)
public BytesRef getBytesRef()
TermToBytesRefAttribute
TermToBytesRefAttribute.fillBytesRef()
.getBytesRef
in interface TermToBytesRefAttribute
public int fillBytesRef()
TermToBytesRefAttribute
TermToBytesRefAttribute.getBytesRef()
to contain this term's
final encoding, and returns its hashcode.fillBytesRef
in interface TermToBytesRefAttribute
BytesRef.hashCode()
:
int hash = 0; for (int i = termBytes.offset; i < termBytes.offset+termBytes.length; i++) { hash = 31*hash + termBytes.bytes[i]; }Implement this for performance reasons, if your code can calculate the hash on-the-fly. If this is not the case, just return
termBytes.hashCode()
.public int getShift()
NumericTokenStream.NumericTermAttribute
getShift
in interface NumericTokenStream.NumericTermAttribute
public void setShift(int shift)
NumericTokenStream.NumericTermAttribute
setShift
in interface NumericTokenStream.NumericTermAttribute
public int incShift()
NumericTokenStream.NumericTermAttribute
incShift
in interface NumericTokenStream.NumericTermAttribute
public long getRawValue()
NumericTokenStream.NumericTermAttribute
long
with all NumericTokenStream.NumericTermAttribute.getShift()
applied, undefined before first tokengetRawValue
in interface NumericTokenStream.NumericTermAttribute
public int getValueSize()
NumericTokenStream.NumericTermAttribute
float
, int
; 64 for double
, long
)getValueSize
in interface NumericTokenStream.NumericTermAttribute
public void init(long value, int valueSize, int precisionStep, int shift)
NumericTokenStream.NumericTermAttribute
init
in interface NumericTokenStream.NumericTermAttribute
public void clear()
AttributeImpl
clear
in class AttributeImpl
public void reflectWith(AttributeReflector reflector)
AttributeImpl
AttributeReflector
.
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 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!
reflectWith
in class AttributeImpl
AttributeImpl.reflectAsString(boolean)
public void copyTo(AttributeImpl target)
AttributeImpl
copyTo
in class AttributeImpl
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.