|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.lucene.util.AttributeImpl
public abstract class AttributeImpl
Base class for Attributes that can be added to a
AttributeSource
.
Attributes are used to add data in a dynamic, yet type-safe way to a source
of usually streamed objects, e. g. a TokenStream
.
Field Summary | |
---|---|
protected boolean |
enableBackwards
Deprecated. this will be removed in Lucene 4.0. |
Constructor Summary | |
---|---|
AttributeImpl()
|
Method Summary | |
---|---|
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 the reflectWith(AttributeReflector) method:
iff prependAttClass=true : "AttributeClass#key=value,AttributeClass#key=value"
iff prependAttClass=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 given AttributeReflector . |
String |
toString()
Returns a string representation of the object. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
@Deprecated protected boolean enableBackwards
true
(default), if a subclass overrides toString()
,
its output is parsed by reflectWith(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.
Constructor Detail |
---|
public AttributeImpl()
Method Detail |
---|
public abstract void clear()
public String toString()
toString
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 of
CharTermAttributeImpl.toString()
that must return a string representation
of the term's char sequence.
It is recommeneded to use reflectAsString(boolean)
or reflectWith(org.apache.lucene.util.AttributeReflector)
to get a well-defined output of AttributeImpl's internals.
toString
in class Object
public final String reflectAsString(boolean prependAttClass)
reflectWith(AttributeReflector)
method:
prependAttClass=true
: "AttributeClass#key=value,AttributeClass#key=value"
prependAttClass=false
: "key=value,key=value"
reflectWith(AttributeReflector)
,
toString()
public void reflectWith(AttributeReflector reflector)
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!
reflectAsString(boolean)
public abstract void copyTo(AttributeImpl target)
public Object clone()
clone
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |