Class AttributeImpl
- java.lang.Object
-
- org.apache.lucene.util.AttributeImpl
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Attribute
- Direct Known Subclasses:
AllowLeadingWildcardAttributeImpl
,AnalyzerAttributeImpl
,BaseFormAttributeImpl
,BaseTokenStreamTestCase.CheckClearAttributesAttributeImpl
,BoostAttributeImpl
,CategoryAttributeImpl
,CharTermAttributeImpl
,DateResolutionAttributeImpl
,DefaultOperatorAttributeImpl
,DefaultPhraseSlopAttributeImpl
,FieldBoostMapAttributeImpl
,FieldDateResolutionMapAttributeImpl
,FlagsAttributeImpl
,FuzzyAttributeImpl
,InflectionAttributeImpl
,KeywordAttributeImpl
,LocaleAttributeImpl
,LowercaseExpandedTermsAttributeImpl
,MultiFieldAttributeImpl
,MultiTermRewriteMethodAttributeImpl
,OffsetAttributeImpl
,PartOfSpeechAttributeImpl
,PayloadAttributeImpl
,PositionIncrementAttributeImpl
,PositionIncrementsAttributeImpl
,PositionLengthAttributeImpl
,RangeCollatorAttributeImpl
,ReadingAttributeImpl
,ScriptAttributeImpl
,TypeAttributeImpl
public abstract class AttributeImpl extends Object implements Cloneable, Serializable, Attribute
Base class for Attributes that can be added to aAttributeSource
.Attributes are used to add data in a dynamic, yet type-safe way to a source of usually streamed objects, e. g. a
TokenStream
.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
enableBackwards
Deprecated.this will be removed in Lucene 4.0.
-
Constructor Summary
Constructors Constructor Description AttributeImpl()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
clear()
Clears the values in this AttributeImpl and resets it to its default value.Object
clone()
Shallow clone.abstract void
copyTo(AttributeImpl target)
Copies the values from this Attribute into the passed-in target attribute.String
reflectAsString(boolean prependAttClass)
This method returns the current attribute values as a string in the following format by calling thereflectWith(AttributeReflector)
method: iffprependAttClass=true
:"AttributeClass#key=value,AttributeClass#key=value"
iffprependAttClass=false
:"key=value,key=value"
void
reflectWith(AttributeReflector reflector)
This method is for introspection of attributes, it should simply add the key/values this attribute holds to the givenAttributeReflector
.String
toString()
Returns a string representation of the object.
-
-
-
Field Detail
-
enableBackwards
@Deprecated protected boolean enableBackwards
Deprecated.this will be removed in Lucene 4.0.Whentrue
(default), if a subclass overridestoString()
, its output is parsed byreflectWith(org.apache.lucene.util.AttributeReflector)
and used for attribute reflection. This is added to enable attribute implementations from Lucene 2.9 or 3.0 to work correctly with reflection.
-
-
Method Detail
-
clear
public abstract void clear()
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.
-
toString
public String toString()
Returns a string representation of the object. In general, thetoString
method returns a string that "textually represents" this object.WARNING: For backwards compatibility this method is implemented as
return reflectAsString(false)
. In Lucene 4.0 this default implementation will be removed. The reason for this is the problem ofCharTermAttributeImpl.toString()
that must return a string representation of the term's char sequence.It is recommeneded to use
reflectAsString(boolean)
orreflectWith(org.apache.lucene.util.AttributeReflector)
to get a well-defined output of AttributeImpl's internals.
-
reflectAsString
public final String reflectAsString(boolean prependAttClass)
This method returns the current attribute values as a string in the following format by calling thereflectWith(AttributeReflector)
method:- iff
prependAttClass=true
:"AttributeClass#key=value,AttributeClass#key=value"
- iff
prependAttClass=false
:"key=value,key=value"
- See Also:
reflectWith(AttributeReflector)
,toString()
- iff
-
reflectWith
public void reflectWith(AttributeReflector reflector)
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!- See Also:
reflectAsString(boolean)
-
copyTo
public abstract void copyTo(AttributeImpl target)
Copies the values from this Attribute into the passed-in target attribute. The target implementation must support all the Attributes this implementation supports.
-
-