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

    All Methods Instance Methods Concrete Methods
    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 Detail

    - #### OffsetAttributeImpl

          public OffsetAttributeImpl()

      Initialize this attribute with startOffset and endOffset of 0.

  - ### Method Detail

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