org.apache.lucene.analysis.tokenattributes

## Class BytesTermAttributeImpl

- java.lang.Object
- - org.apache.lucene.util.AttributeImpl
  - - org.apache.lucene.analysis.tokenattributes.BytesTermAttributeImpl

All Implemented Interfaces:
  Cloneable, BytesTermAttribute, TermToBytesRefAttribute, Attribute

    public class BytesTermAttributeImpl
    extends AttributeImpl
    implements BytesTermAttribute, TermToBytesRefAttribute

Implementation class for `BytesTermAttribute`.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

### Constructor Summary

Constructors
Constructor and Description
`BytesTermAttributeImpl()` Initialize this attribute with no bytes.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `clear()` Clears the values in this AttributeImpl and resets it to its default value.
`AttributeImpl` `clone()` In most cases the clone is, and should be, deep in order to be able to properly capture the state of all attributes.
`void` `copyTo(AttributeImpl target)` Copies the values from this Attribute into the passed-in target attribute.
`boolean` `equals(Object o)`
`BytesRef` `getBytesRef()` Retrieve this attribute's BytesRef.
`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` `setBytesRef(BytesRef bytes)` Sets the `BytesRef` of the term

### Methods inherited from class org.apache.lucene.util.AttributeImpl

`end, reflectAsString`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### BytesTermAttributeImpl

    public BytesTermAttributeImpl()

Initialize this attribute with no bytes.

### Method Detail

#### getBytesRef

    public BytesRef getBytesRef()

Description copied from interface: `TermToBytesRefAttribute`
Retrieve this attribute's BytesRef. The bytes are updated from the current term. The implementation may return a new instance or keep the previous one.

Specified by:
  `getBytesRef` in interface `TermToBytesRefAttribute`
Returns:
  a BytesRef to be indexed (only stays valid until token stream gets incremented)

#### setBytesRef

    public void setBytesRef(BytesRef bytes)

Description copied from interface: `BytesTermAttribute`
Sets the `BytesRef` of the term

Specified by:
  `setBytesRef` in interface `BytesTermAttribute`

#### 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`

#### clone

    public AttributeImpl clone()

Description copied from class: `AttributeImpl`
In most cases the clone is, and should be, deep in order to be able to properly capture the state of all attributes.

Overrides:
  `clone` in class `AttributeImpl`

#### 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`.

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!

Specified by:
  `reflectWith` in class `AttributeImpl`
See Also:
  `AttributeImpl.reflectAsString(boolean)`

#### equals

    public boolean equals(Object o)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`