org.apache.lucene.codecs

## Class FilterCodec

- java.lang.Object
- - org.apache.lucene.codecs.Codec
  - - org.apache.lucene.codecs.FilterCodec

All Implemented Interfaces:
  NamedSPILoader.NamedSPI

    public abstract class FilterCodec
    extends Codec

A codec that forwards all its method calls to another codec.

Extend this class when you need to reuse the functionality of an existing codec. For example, if you want to build a codec that redefines Lucene42's `LiveDocsFormat`:

       public final class CustomCodec extends FilterCodec {

         public CustomCodec() {
           super("CustomCodec", new Lucene42Codec());
         }

         public LiveDocsFormat liveDocsFormat() {
           return new CustomLiveDocsFormat();
         }

       }

Please note: Don't call `Codec.forName(java.lang.String)` from the no-arg constructor of your own codec. When the SPI framework loads your own Codec as SPI component, SPI has not yet fully initialized! If you want to extend another Codec, instantiate it directly by calling its constructor.

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Field Summary

Fields
`protected Codec` `delegate` The codec to filter.

### Constructor Summary

Constructors
`protected` `FilterCodec(String name, Codec delegate)` Sole constructor.

### Method Summary

Methods
`DocValuesFormat` `docValuesFormat()` Encodes/decodes docvalues
`FieldInfosFormat` `fieldInfosFormat()` Encodes/decodes field infos file
`LiveDocsFormat` `liveDocsFormat()` Encodes/decodes live docs
`NormsFormat` `normsFormat()` Encodes/decodes document normalization values
`PostingsFormat` `postingsFormat()` Encodes/decodes postings
`SegmentInfoFormat` `segmentInfoFormat()` Encodes/decodes segment info file
`StoredFieldsFormat` `storedFieldsFormat()` Encodes/decodes stored fields
`TermVectorsFormat` `termVectorsFormat()` Encodes/decodes term vectors

### Methods inherited from class org.apache.lucene.codecs.Codec

`availableCodecs, forName, getDefault, getName, reloadCodecs, setDefault, toString`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### delegate

    protected final Codec delegate

The codec to filter.

### Constructor Detail

#### FilterCodec

    protected FilterCodec(String name,
               Codec delegate)

Sole constructor. When subclassing this codec, create a no-arg ctor and pass the delegate codec and a unique name to this ctor.

### Method Detail

#### docValuesFormat

    public DocValuesFormat docValuesFormat()

Description copied from class: `Codec`
Encodes/decodes docvalues

Specified by:
  `docValuesFormat` in class `Codec`

#### fieldInfosFormat

    public FieldInfosFormat fieldInfosFormat()

Description copied from class: `Codec`
Encodes/decodes field infos file

Specified by:
  `fieldInfosFormat` in class `Codec`

#### liveDocsFormat

    public LiveDocsFormat liveDocsFormat()

Description copied from class: `Codec`
Encodes/decodes live docs

Specified by:
  `liveDocsFormat` in class `Codec`

#### normsFormat

    public NormsFormat normsFormat()

Description copied from class: `Codec`
Encodes/decodes document normalization values

Specified by:
  `normsFormat` in class `Codec`

#### postingsFormat

    public PostingsFormat postingsFormat()

Description copied from class: `Codec`
Encodes/decodes postings

Specified by:
  `postingsFormat` in class `Codec`

#### segmentInfoFormat

    public SegmentInfoFormat segmentInfoFormat()

Description copied from class: `Codec`
Encodes/decodes segment info file

Specified by:
  `segmentInfoFormat` in class `Codec`

#### storedFieldsFormat

    public StoredFieldsFormat storedFieldsFormat()

Description copied from class: `Codec`
Encodes/decodes stored fields

Specified by:
  `storedFieldsFormat` in class `Codec`

#### termVectorsFormat

    public TermVectorsFormat termVectorsFormat()

Description copied from class: `Codec`
Encodes/decodes term vectors

Specified by:
  `termVectorsFormat` in class `Codec`