BytesTermAttributeImpl (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.analysis.tokenattributes, class: BytesTermAttributeImpl

Package 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
  Description
  `BytesTermAttributeImpl()`
  Initialize this attribute with no bytes.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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 Details

  - ### BytesTermAttributeImpl

    public BytesTermAttributeImpl()
    Initialize this attribute with no bytes.

- ## Method Details

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