## Uses of Interface
org.apache.lucene.util.Attribute

Packages that use Attribute
Package | Description
--- | ---
org.apache.lucene.analysis | API and code to convert text into indexable/searchable tokens.
org.apache.lucene.analysis.tokenattributes | General-purpose attributes for text analysis.
org.apache.lucene.search | Code to search indices.
org.apache.lucene.util | Some utility classes.

### Uses of Attribute in org.apache.lucene.analysis

Subinterfaces of Attribute in org.apache.lucene.analysis
Modifier and Type | Interface and Description
--- | ---
`static interface` | `NumericTokenStream.NumericTermAttribute` Expert: Use this attribute to get the details of the currently generated token.

Classes in org.apache.lucene.analysis that implement Attribute
Modifier and Type | Class and Description
--- | ---
`static class` | `NumericTokenStream.NumericTermAttributeImpl` Implementation of `NumericTokenStream.NumericTermAttribute`.
`class` | `Token` A Token is an occurrence of a term from the text of a field.

Method parameters in org.apache.lucene.analysis with type arguments of type Attribute
Modifier and Type | Method and Description
--- | ---
`AttributeImpl` | Token.TokenAttributeFactory.`createAttributeInstance(Class<? extends Attribute> attClass)`

### Uses of Attribute in org.apache.lucene.analysis.tokenattributes

Subinterfaces of Attribute in org.apache.lucene.analysis.tokenattributes
Modifier and Type | Interface and Description
--- | ---
`interface` | `CharTermAttribute` The term text of a Token.
`interface` | `FlagsAttribute` This attribute can be used to pass different flags down the `Tokenizer` chain, e.g.
`interface` | `KeywordAttribute` This attribute can be used to mark a token as a keyword.
`interface` | `OffsetAttribute` The start and end character offset of a Token.
`interface` | `PayloadAttribute` The payload of a Token.
`interface` | `PositionIncrementAttribute` Determines the position of this token relative to the previous Token in a TokenStream, used in phrase searching.
`interface` | `PositionLengthAttribute` Determines how many positions this token spans.
`interface` | `TermToBytesRefAttribute` This attribute is requested by TermsHashPerField to index the contents.
`interface` | `TypeAttribute` A Token's lexical type.

Classes in org.apache.lucene.analysis.tokenattributes that implement Attribute
Modifier and Type | Class and Description
--- | ---
`class` | `CharTermAttributeImpl` Default implementation of `CharTermAttribute`.
`class` | `FlagsAttributeImpl` Default implementation of `FlagsAttribute`.
`class` | `KeywordAttributeImpl` Default implementation of `KeywordAttribute`.
`class` | `OffsetAttributeImpl` Default implementation of `OffsetAttribute`.
`class` | `PayloadAttributeImpl` Default implementation of `PayloadAttribute`.
`class` | `PositionIncrementAttributeImpl` Default implementation of `PositionIncrementAttribute`.
`class` | `PositionLengthAttributeImpl` Default implementation of `PositionLengthAttribute`.
`class` | `TypeAttributeImpl` Default implementation of `TypeAttribute`.

### Uses of Attribute in org.apache.lucene.search

Subinterfaces of Attribute in org.apache.lucene.search
Modifier and Type | Interface and Description
--- | ---
`interface` | `BoostAttribute` Add this `Attribute` to a `TermsEnum` returned by `MultiTermQuery.getTermsEnum(Terms,AttributeSource)` and update the boost on each returned term.
`static interface` | `FuzzyTermsEnum.LevenshteinAutomataAttribute` reuses compiled automata across different segments, because they are independent of the index
`interface` | `MaxNonCompetitiveBoostAttribute` Add this `Attribute` to a fresh `AttributeSource` before calling `MultiTermQuery.getTermsEnum(Terms,AttributeSource)`.

Classes in org.apache.lucene.search that implement Attribute
Modifier and Type | Class and Description
--- | ---
`class` | `BoostAttributeImpl` Implementation class for `BoostAttribute`.
`static class` | `FuzzyTermsEnum.LevenshteinAutomataAttributeImpl` Stores compiled automata as a list (indexed by edit distance)
`class` | `MaxNonCompetitiveBoostAttributeImpl` Implementation class for `MaxNonCompetitiveBoostAttribute`.

### Uses of Attribute in org.apache.lucene.util

Classes in org.apache.lucene.util that implement Attribute
Modifier and Type | Class and Description
--- | ---
`class` | `AttributeImpl` Base class for Attributes that can be added to a `AttributeSource`.

Methods in org.apache.lucene.util with type parameters of type Attribute
Modifier and Type | Method and Description
--- | ---
`<A extends Attribute> A` | AttributeSource.`addAttribute(Class<A> attClass)` The caller must pass in a Class<? extends Attribute> value.
`<A extends Attribute> A` | AttributeSource.`getAttribute(Class<A> attClass)` The caller must pass in a Class<? extends Attribute> value.

Methods in org.apache.lucene.util that return types with arguments of type Attribute
Modifier and Type | Method and Description
--- | ---
`Iterator<Class<? extends Attribute>>` | AttributeSource.`getAttributeClassesIterator()` Returns a new iterator that iterates the attribute classes in the same order they were added in.

Method parameters in org.apache.lucene.util with type arguments of type Attribute
Modifier and Type | Method and Description
--- | ---
`abstract AttributeImpl` | AttributeSource.AttributeFactory.`createAttributeInstance(Class<? extends Attribute> attClass)` returns an `AttributeImpl` for the supplied `Attribute` interface class.
`boolean` | AttributeSource.`hasAttribute(Class<? extends Attribute> attClass)` The caller must pass in a Class<? extends Attribute> value.
`void` | AttributeReflector.`reflect(Class<? extends Attribute> attClass, String key, Object value)` This method gets called for every property in an `AttributeImpl`/`AttributeSource` passing the class name of the `Attribute`, a key and the actual value.