Class BaseNCodecInputStream<C extends BaseNCodec, T extends BaseNCodecInputStream<C,T,B>, B extends BaseNCodecInputStream.AbstracBuilder<T,C,B>>
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
org.apache.commons.codec.binary.BaseNCodecInputStream<C,T,B>
- Type Parameters:
C- A BaseNCodec subclass.T- A BaseNCodecInputStream subclass.B- A subclass.
- All Implemented Interfaces:
Closeable, AutoCloseable
- Direct Known Subclasses:
Base16InputStream, Base32InputStream, Base64InputStream
public class BaseNCodecInputStream<C extends BaseNCodec, T extends BaseNCodecInputStream<C,T,B>, B extends BaseNCodecInputStream.AbstracBuilder<T,C,B>>
extends FilterInputStream
Abstracts Base-N input streams.
- Since:
- 1.5
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBaseNCodecInputStream.AbstracBuilder<T, C extends BaseNCodec, B extends AbstractBaseNCodecStreamBuilder<T,C, B>> Builds input stream instances inBaseNCodecformat. -
Field Summary
Fields inherited from class FilterInputStream
in -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseNCodecInputStream(InputStream inputStream, C baseNCodec, boolean doEncode) Constructs a new instance.protectedConstructs a new instance. -
Method Summary
Modifier and TypeMethodDescriptionintbooleanReturns true if decoding behavior is strict.voidmark(int readLimit) Marks the current position in this input stream.booleanintread()Reads onebytefrom this input stream.intread(byte[] array, int offset, int len) Attempts to readlenbytes into the specifiedbarray starting atoffsetfrom this InputStream.voidreset()Repositions this stream to the position at the time the mark method was last called on this input stream.longskip(long n) Methods inherited from class FilterInputStream
close, read
-
Constructor Details
-
BaseNCodecInputStream
Constructs a new instance.- Parameters:
builder- A builder.- Since:
- 1.20.0
-
BaseNCodecInputStream
Constructs a new instance.- Parameters:
inputStream- the input stream.baseNCodec- the codec.doEncode- set to true to perform encoding, else decoding.
-
-
Method Details
-
available
- Overrides:
availablein classFilterInputStream- Returns:
0if theInputStreamhas reachedEOF,1otherwise.- Throws:
IOException- Since:
- 1.7
-
isStrictDecoding
Returns true if decoding behavior is strict. Decoding will raise anIllegalArgumentExceptionif trailing bits are not part of a valid encoding.The default is false for lenient encoding. Decoding will compose trailing bits into 8-bit bytes and discard the remainder.
- Returns:
- true if using strict decoding.
- Since:
- 1.15
-
mark
Marks the current position in this input stream.The
mark(int)method ofBaseNCodecInputStreamdoes nothing.- Overrides:
markin classFilterInputStream- Parameters:
readLimit- the maximum limit of bytes that can be read before the mark position becomes invalid.- Since:
- 1.7
- See Also:
-
markSupported
- Overrides:
markSupportedin classFilterInputStream- Returns:
- Always returns
false
-
read
Reads onebytefrom this input stream.- Overrides:
readin classFilterInputStream- Returns:
- the byte as an integer in the range 0 to 255. Returns -1 if EOF has been reached.
- Throws:
IOException- if an I/O error occurs.
-
read
Attempts to readlenbytes into the specifiedbarray starting atoffsetfrom this InputStream.- Overrides:
readin classFilterInputStream- Parameters:
array- destination byte array.offset- where to start writing the bytes.len- maximum number of bytes to read.- Returns:
- number of bytes read.
- Throws:
IOException- if an I/O error occurs.NullPointerException- if the byte array parameter is null.IndexOutOfBoundsException- if offset, len or buffer size are invalid.
-
reset
Repositions this stream to the position at the time the mark method was last called on this input stream.The
reset()method ofBaseNCodecInputStreamdoes nothing except throw anIOException.- Overrides:
resetin classFilterInputStream- Throws:
IOException- if this method is invoked.- Since:
- 1.7
-
skip
- Overrides:
skipin classFilterInputStream- Throws:
IllegalArgumentException- if the provided skip length is negative.IOException- Since:
- 1.7
-