Class NumericTokenStream.NumericTermAttributeImpl
- java.lang.Object
-
- org.apache.lucene.util.AttributeImpl
-
- org.apache.lucene.analysis.NumericTokenStream.NumericTermAttributeImpl
-
- All Implemented Interfaces:
java.lang.Cloneable
,NumericTokenStream.NumericTermAttribute
,TermToBytesRefAttribute
,Attribute
- Enclosing class:
- NumericTokenStream
public static final class NumericTokenStream.NumericTermAttributeImpl extends AttributeImpl implements NumericTokenStream.NumericTermAttribute, TermToBytesRefAttribute
Implementation ofNumericTokenStream.NumericTermAttribute
.- Since:
- 4.0
-
-
Constructor Summary
Constructors Constructor Description NumericTermAttributeImpl()
Creates, but does not yet initialize this attribute instance
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 bytesTermToBytesRefAttribute.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 aslong
with allNumericTokenStream.NumericTermAttribute.getShift()
applied, undefined before first tokenint
getShift()
Returns current shift value, undefined before first tokenint
getValueSize()
Returns value size in bits (32 forfloat
,int
; 64 fordouble
,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 givenAttributeReflector
.void
setShift(int shift)
Don't call this method!-
Methods inherited from class org.apache.lucene.util.AttributeImpl
clone, reflectAsString
-
-
-
-
Constructor Detail
-
NumericTermAttributeImpl
public NumericTermAttributeImpl()
Creates, but does not yet initialize this attribute instance- See Also:
init(long, int, int, int)
-
-
Method Detail
-
getBytesRef
public BytesRef getBytesRef()
Description copied from interface:TermToBytesRefAttribute
Retrieve this attribute's BytesRef. The bytes are updated from the current term when the consumer callsTermToBytesRefAttribute.fillBytesRef()
.- Specified by:
getBytesRef
in interfaceTermToBytesRefAttribute
- Returns:
- this Attributes internal BytesRef.
-
fillBytesRef
public int fillBytesRef()
Description copied from interface:TermToBytesRefAttribute
Updates the bytesTermToBytesRefAttribute.getBytesRef()
to contain this term's final encoding, and returns its hashcode.- Specified by:
fillBytesRef
in interfaceTermToBytesRefAttribute
- Returns:
- the hashcode as defined by
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 returntermBytes.hashCode()
.
-
getShift
public int getShift()
Description copied from interface:NumericTokenStream.NumericTermAttribute
Returns current shift value, undefined before first token- Specified by:
getShift
in interfaceNumericTokenStream.NumericTermAttribute
-
setShift
public void setShift(int shift)
Description copied from interface:NumericTokenStream.NumericTermAttribute
Don't call this method!- Specified by:
setShift
in interfaceNumericTokenStream.NumericTermAttribute
-
incShift
public int incShift()
Description copied from interface:NumericTokenStream.NumericTermAttribute
Don't call this method!- Specified by:
incShift
in interfaceNumericTokenStream.NumericTermAttribute
-
getRawValue
public long getRawValue()
Description copied from interface:NumericTokenStream.NumericTermAttribute
Returns current token's raw value aslong
with allNumericTokenStream.NumericTermAttribute.getShift()
applied, undefined before first token- Specified by:
getRawValue
in interfaceNumericTokenStream.NumericTermAttribute
-
getValueSize
public int getValueSize()
Description copied from interface:NumericTokenStream.NumericTermAttribute
Returns value size in bits (32 forfloat
,int
; 64 fordouble
,long
)- Specified by:
getValueSize
in interfaceNumericTokenStream.NumericTermAttribute
-
init
public void init(long value, int valueSize, int precisionStep, int shift)
Description copied from interface:NumericTokenStream.NumericTermAttribute
Don't call this method!- Specified by:
init
in interfaceNumericTokenStream.NumericTermAttribute
-
clear
public void clear()
Description copied from class:AttributeImpl
Clears the values in this AttributeImpl and resets it to its default value. If this implementation implements more than one Attribute interface it clears all.- Specified by:
clear
in classAttributeImpl
-
reflectWith
public void reflectWith(AttributeReflector reflector)
Description copied from class:AttributeImpl
This method is for introspection of attributes, it should simply add the key/values this attribute holds to the givenAttributeReflector
.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 toAttributeReflector.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!- Overrides:
reflectWith
in classAttributeImpl
- See Also:
AttributeImpl.reflectAsString(boolean)
-
copyTo
public void copyTo(AttributeImpl target)
Description copied from class:AttributeImpl
Copies the values from this Attribute into the passed-in target attribute. The target implementation must support all the Attributes this implementation supports.- Specified by:
copyTo
in classAttributeImpl
-
-