AttributeFactory.StaticImplementationAttributeFactory (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.util, class: AttributeFactory, class: StaticImplementationAttributeFactory

Package org.apache.lucene.util

# Class AttributeFactory.StaticImplementationAttributeFactory<A extends AttributeImpl>

java.lang.Object
org.apache.lucene.util.AttributeFactory
org.apache.lucene.util.AttributeFactory.StaticImplementationAttributeFactory<A>

Enclosing class:
  `AttributeFactory`

public abstract static class AttributeFactory.StaticImplementationAttributeFactory<A extends AttributeImpl> extends AttributeFactory
Expert: AttributeFactory returning an instance of the given `clazz` for the attributes it implements. For all other attributes it calls the given delegate factory as fallback. This class can be used to prefer a specific `AttributeImpl` which combines multiple attributes over separate classes.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeFactory

  `AttributeFactory.StaticImplementationAttributeFactory<A extends AttributeImpl>`

- ## Field Summary

  ### Fields inherited from class org.apache.lucene.util.AttributeFactory

  `DEFAULT_ATTRIBUTE_FACTORY`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `StaticImplementationAttributeFactory(AttributeFactory delegate, Class<A> clazz)`
  Expert: Creates an AttributeFactory returning `clazz` as instance for the attributes it implements and for all other attributes calls the given delegate factory.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final AttributeImpl`
  `createAttributeInstance(Class<? extends Attribute> attClass)`
  Returns an `AttributeImpl` for the supplied `Attribute` interface class.
  `protected abstract A`
  `createInstance()`
  Creates an instance of `A`.
  `boolean`
  `equals(Object other)`
  `int`
  `hashCode()`

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

  `getStaticImplementation`

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

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

- ## Constructor Details

  - ### StaticImplementationAttributeFactory

    protected StaticImplementationAttributeFactory(AttributeFactory delegate, Class<A> clazz)
    Expert: Creates an AttributeFactory returning `clazz` as instance for the attributes it implements and for all other attributes calls the given delegate factory.

- ## Method Details

  - ### createAttributeInstance

    public final AttributeImpl createAttributeInstance(Class<? extends Attribute> attClass)
    Description copied from class: `AttributeFactory`
    Returns an `AttributeImpl` for the supplied `Attribute` interface class.
    Specified by:
      `createAttributeInstance` in class `AttributeFactory`

  - ### createInstance

    protected abstract A createInstance()
    Creates an instance of `A`.

  - ### equals

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

  - ### hashCode

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