org.apache.lucene.util.encoding
Class IntEncoderFilter
java.lang.Object
org.apache.lucene.util.encoding.IntEncoder
org.apache.lucene.util.encoding.IntEncoderFilter
- Direct Known Subclasses:
- DGapIntEncoder, SortingIntEncoder, UniqueValuesIntEncoder
public abstract class IntEncoderFilter
- extends IntEncoder
An abstract implementation of IntEncoder
which is served as a filter
on the values to encode. An encoder filter wraps another IntEncoder
which does the actual encoding. This allows for chaining filters and
encoders, such as:
new UniqueValuesIntEncoder(new DGapIntEncoder(new VInt8IntEnoder()));
UniqueValuesIntEncoder
followed by DGapIntEncoder
The default implementation implements close()
by closing the wrapped
encoder and reInit(OutputStream)
by re-initializing the wrapped
encoder.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
Fields inherited from class org.apache.lucene.util.encoding.IntEncoder |
out |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
encoder
protected final IntEncoder encoder
IntEncoderFilter
protected IntEncoderFilter(IntEncoder encoder)
close
public void close()
throws IOException
- Description copied from class:
IntEncoder
- Instructs the encoder to finish the encoding process. This method closes
the output stream which was specified by
reInit
. An implementation may do here additional cleanup required to
complete the encoding, such as flushing internal buffers, etc.
Once this method was called, no further calls to encode
should be made before first calling reInit
.
NOTE: overriding classes should make sure they either call
super.close()
or close the output stream themselves.
- Overrides:
close
in class IntEncoder
- Throws:
IOException
reInit
public void reInit(OutputStream out)
- Description copied from class:
IntEncoder
- Reinitializes the encoder with the give
OutputStream
. For
re-usability it can be changed without the need to reconstruct a new
object.
NOTE: after calling IntEncoder.close()
, one must call
this method even if the output stream itself hasn't changed. An example
case is that the output stream wraps a byte[], and the output stream itself
is reset, but its instance hasn't changed. Some implementations of
IntEncoder
may write some metadata about themselves to the output
stream, and therefore it is imperative that one calls this method before
encoding any data.
- Overrides:
reInit
in class IntEncoder
Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.