org.apache.lucene.analysis.tokenattributes

## Class FlagsAttributeImpl

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

All Implemented Interfaces:
  Cloneable, FlagsAttribute, Attribute

    public class FlagsAttributeImpl
    extends AttributeImpl
    implements FlagsAttribute, Cloneable

Default implementation of `FlagsAttribute`.

### Constructor Summary

Constructors
Constructor and Description
`FlagsAttributeImpl()` Initialize this attribute with no bits set

### Method Summary

All Methods Instance Methods Concrete Methods
`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.
`boolean` `equals(Object other)`
`int` `getFlags()` Get the bitset for any bits that have been set.
`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` `setFlags(int flags)` Set the flags to a new bitset.

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

#### FlagsAttributeImpl

    public FlagsAttributeImpl()

Initialize this attribute with no bits set

### Method Detail

#### getFlags

    public int getFlags()

Description copied from interface: `FlagsAttribute`
Get the bitset for any bits that have been set.

Specified by:
  `getFlags` in interface `FlagsAttribute`
Returns:
  The bits
See Also:
  `FlagsAttribute.getFlags()`

#### setFlags

    public void setFlags(int flags)

Description copied from interface: `FlagsAttribute`
Set the flags to a new bitset.

Specified by:
  `setFlags` in interface `FlagsAttribute`
See Also:
  `FlagsAttribute.getFlags()`

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