Package org.apache.lucene.codecs

# Class NormsFormat

java.lang.Object
org.apache.lucene.codecs.NormsFormat

Direct Known Subclasses:
  `Lucene90NormsFormat`

public abstract class NormsFormat extends Object
Encodes/decodes per-document score normalization values.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`NormsFormat()`
Sole constructor.

## Method Summary

Modifier and Type
Method
Description
`abstract NormsConsumer`
`normsConsumer(SegmentWriteState state)`
Returns a `NormsConsumer` to write norms to the index.
`abstract NormsProducer`
`normsProducer(SegmentReadState state)`
Returns a `NormsProducer` to read norms from the index.

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

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

## Constructor Details

### NormsFormat

protected NormsFormat()
Sole constructor. (For invocation by subclass constructors, typically implicit.)

## Method Details

### normsConsumer

public abstract NormsConsumer normsConsumer(SegmentWriteState state) throws IOException
Returns a `NormsConsumer` to write norms to the index.

Throws:
  `IOException`

### normsProducer

public abstract NormsProducer normsProducer(SegmentReadState state) throws IOException
Returns a `NormsProducer` to read norms from the index.

NOTE: by the time this call returns, it must hold open any files it will need to use; else, those files may be deleted. Additionally, required files may be deleted during the execution of this call before there is a chance to open them. Under these circumstances an IOException should be thrown by the implementation. IOExceptions are expected and will automatically cause a retry of the segment opening logic with the newly revised segments.

Throws:
  `IOException`