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

Package org.apache.lucene.analysis.tokenattributes

# Class OffsetAttributeImpl

java.lang.Object
org.apache.lucene.util.AttributeImpl
org.apache.lucene.analysis.tokenattributes.OffsetAttributeImpl

All Implemented Interfaces:
  `Cloneable`, `OffsetAttribute`, `Attribute`

public class OffsetAttributeImpl extends AttributeImpl implements OffsetAttribute
Default implementation of `OffsetAttribute`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OffsetAttributeImpl()`
  Initialize this attribute with startOffset and endOffset of 0.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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.
  `int`
  `endOffset()`
  Returns this Token's ending offset, one greater than the position of the last character corresponding to this token in the source text.
  `boolean`
  `equals(Object other)`
  `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`
  `setOffset(int startOffset, int endOffset)`
  Set the starting and ending offset.
  `int`
  `startOffset()`
  Returns this Token's starting offset, the position of the first character corresponding to this token in the source text.

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

  `clone, end, reflectAsString`

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

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

- ## Constructor Details

  - ### OffsetAttributeImpl

    public OffsetAttributeImpl()
    Initialize this attribute with startOffset and endOffset of 0.

- ## Method Details

  - ### startOffset

    public int startOffset()
    Description copied from interface: `OffsetAttribute`
    Returns this Token's starting offset, the position of the first character corresponding to this token in the source text.

    Note that the difference between `OffsetAttribute.endOffset()` and `startOffset()` may not be equal to termText.length(), as the term text may have been altered by a stemmer or some other filter.

    Specified by:
      `startOffset` in interface `OffsetAttribute`
    See Also:
      - `OffsetAttribute.setOffset(int, int)`

  - ### setOffset

    public void setOffset(int startOffset, int endOffset)
    Description copied from interface: `OffsetAttribute`
    Set the starting and ending offset.
    Specified by:
      `setOffset` in interface `OffsetAttribute`
    See Also:
      - `OffsetAttribute.startOffset()`
      - `OffsetAttribute.endOffset()`

  - ### endOffset

    public int endOffset()
    Description copied from interface: `OffsetAttribute`
    Returns this Token's ending offset, one greater than the position of the last character corresponding to this token in the source text. The length of the token in the source text is ( `endOffset()` - `OffsetAttribute.startOffset()`).
    Specified by:
      `endOffset` in interface `OffsetAttribute`
    See Also:
      - `OffsetAttribute.setOffset(int, int)`

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

  - ### equals

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

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

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

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