Class InterceptingOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.glassfish.jersey.jdk.connector.internal.InterceptingOutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
class InterceptingOutputStream extends java.io.OutputStreamA stream that invokesInterceptingOutputStream.FirstCallListenerwhen any operation is invoked.InterceptingOutputStream.FirstCallListeneris invoked only once in the stream lifetime.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interfaceInterceptingOutputStream.FirstCallListener
-
Field Summary
Fields Modifier and Type Field Description private InterceptingOutputStream.FirstCallListenerfirstCallListenerprivate booleanlistenerInvokedprivate java.io.OutputStreamwrappedStream
-
Constructor Summary
Constructors Constructor Description InterceptingOutputStream(java.io.OutputStream wrappedStream, InterceptingOutputStream.FirstCallListener firstCallListener)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidflush()private voidtryInvokingListener()voidwrite(byte[] b)voidwrite(byte[] b, int off, int len)voidwrite(int b)
-
-
-
Field Detail
-
wrappedStream
private final java.io.OutputStream wrappedStream
-
firstCallListener
private final InterceptingOutputStream.FirstCallListener firstCallListener
-
listenerInvoked
private volatile boolean listenerInvoked
-
-
Constructor Detail
-
InterceptingOutputStream
InterceptingOutputStream(java.io.OutputStream wrappedStream, InterceptingOutputStream.FirstCallListener firstCallListener)
-
-
Method Detail
-
write
public void write(byte[] b) throws java.io.IOException- Overrides:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException- Overrides:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException- Specified by:
flushin interfacejava.io.Flushable- Overrides:
flushin classjava.io.OutputStream- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.OutputStream- Throws:
java.io.IOException
-
write
public void write(int b) throws java.io.IOException- Specified by:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
tryInvokingListener
private void tryInvokingListener()
-
-