org.apache.lucene.analysis.icu.tokenattributes
Class ScriptAttributeImpl

java.lang.Object
  extended by org.apache.lucene.util.AttributeImpl
      extended by org.apache.lucene.analysis.icu.tokenattributes.ScriptAttributeImpl
All Implemented Interfaces:
Serializable, Cloneable, ScriptAttribute, Attribute

public class ScriptAttributeImpl
extends AttributeImpl
implements ScriptAttribute, Cloneable, Serializable

Implementation of ScriptAttribute that stores the script as an integer.

See Also:
Serialized Form
WARNING: This API is experimental and might change in incompatible ways in the next release.

Field Summary
 
Fields inherited from class org.apache.lucene.util.AttributeImpl
enableBackwards
 
Constructor Summary
ScriptAttributeImpl()
           
 
Method Summary
 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.
 boolean equals(Object other)
           
 int getCode()
          Get the numeric code for this script value.
 String getName()
          Get the full name.
 String getShortName()
          Get the abbreviated name.
 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 setCode(int code)
          Set the numeric code for this script value.
 
Methods inherited from class org.apache.lucene.util.AttributeImpl
clone, reflectAsString, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ScriptAttributeImpl

public ScriptAttributeImpl()
Method Detail

getCode

public int getCode()
Description copied from interface: ScriptAttribute
Get the numeric code for this script value. This is the constant value from UScript.

Specified by:
getCode in interface ScriptAttribute
Returns:
numeric code

setCode

public void setCode(int code)
Description copied from interface: ScriptAttribute
Set the numeric code for this script value. This is the constant value from UScript.

Specified by:
setCode in interface ScriptAttribute
Parameters:
code - numeric code

getName

public String getName()
Description copied from interface: ScriptAttribute
Get the full name.

Specified by:
getName in interface ScriptAttribute
Returns:
UTR #24 full name.

getShortName

public String getShortName()
Description copied from interface: ScriptAttribute
Get the abbreviated name.

Specified by:
getShortName in interface ScriptAttribute
Returns:
UTR #24 abbreviated name.

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 class AttributeImpl

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 class AttributeImpl

equals

public boolean equals(Object other)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

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 given AttributeReflector.

The default implementation calls AttributeReflector.reflect(java.lang.Class, 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, 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 class AttributeImpl
See Also:
AttributeImpl.reflectAsString(boolean)