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