public class SdkFilterInputStream extends FilterInputStream implements MetricAware, Releasable
FilterInputStream
.in
Modifier | Constructor and Description |
---|---|
protected |
SdkFilterInputStream(InputStream in) |
Modifier and Type | Method and Description |
---|---|
void |
abort()
Can be used to provide abortion logic prior to throwing the
AbortedException.
|
protected void |
abortIfNeeded()
Aborts with subclass specific abortion logic executed if needed.
|
int |
available() |
void |
close() |
InputStream |
getDelegateStream() |
protected boolean |
isAborted() |
boolean |
isMetricActivated()
Returns true if this object or one of it's inner wrapped objects has
metrics gathering activity turned on; false otherwise.
|
void |
mark(int readlimit) |
boolean |
markSupported() |
int |
read() |
int |
read(byte[] b,
int off,
int len) |
void |
release()
Releases the allocated resource.
|
void |
reset() |
long |
skip(long n) |
read
protected SdkFilterInputStream(InputStream in)
public InputStream getDelegateStream()
public boolean isMetricActivated()
MetricAware
isMetricActivated
in interface MetricAware
protected final void abortIfNeeded()
AbortedException
- if found necessary.public void abort()
InputStream
is also an instance
of this class, then it will also be aborted, otherwise this is a no-op.protected boolean isAborted()
public int read() throws IOException
read
in class FilterInputStream
IOException
public int read(byte[] b, int off, int len) throws IOException
read
in class FilterInputStream
IOException
public long skip(long n) throws IOException
skip
in class FilterInputStream
IOException
public int available() throws IOException
available
in class FilterInputStream
IOException
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class FilterInputStream
IOException
public void mark(int readlimit)
mark
in class FilterInputStream
public void reset() throws IOException
reset
in class FilterInputStream
IOException
public boolean markSupported()
markSupported
in class FilterInputStream
public void release()
Releasable
Closeable
resource to be not
unintentionally released owing to the calling of the
Closeable.close()
methods by implementation deep down in the call
stack.
For example, the creation of a ResettableInputStream
would entail
physically opening a file. If the opened file is meant to be closed only
(in a finally block) by the very same code block that created it, then it
is necessary that the release method must not be called while the
execution is made in other stack frames.
In such case, as other stack frames may inadvertently or indirectly call
the close method of the stream, the creator of the stream would need to
explicitly disable the accidental closing via
ResettableInputStream#disableClose()
, so that the release method
becomes the only way to truly close the opened file.
release
in interface Releasable
Copyright © 2024. All rights reserved.