Package org.glassfish.jersey.server
Class ChunkedOutput<T>
java.lang.Object
jakarta.ws.rs.core.GenericType<T>
org.glassfish.jersey.server.ChunkedOutput<T>
- Type Parameters:
T- chunk type.
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
EventOutput
Used for sending messages in "typed" chunks. Useful for long running processes,
which needs to produce partial responses.
- Author:
- Pavel Bucek, Martin Matula, Marek Potociar
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreate newChunkedOutput.protectedChunkedOutput(byte[] chunkDelimiter) Create newChunkedOutputwith a custom chunk delimiter.protectedChunkedOutput(byte[] chunkDelimiter, jakarta.inject.Provider<AsyncContext> asyncContextProvider) Create newChunkedOutputwith a custom chunk delimiter.ChunkedOutput(Type chunkType) CreateChunkedOutputwith specified type.ChunkedOutput(Type chunkType, byte[] chunkDelimiter) Create newChunkedOutputwith a custom chunk delimiter.ChunkedOutput(Type chunkType, String chunkDelimiter) Create newChunkedOutputwith a custom chunk delimiter.protectedChunkedOutput(String chunkDelimiter) Create newChunkedOutputwith a custom chunk delimiter. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close this response - it will be finalized and underlying connections will be closed or made available for another response.booleanprotected voidinthashCode()booleanisClosed()Get state information.protected voidExecuted only in case of close being triggered by client.toString()voidWrite a chunk.Methods inherited from class jakarta.ws.rs.core.GenericType
forInstance, getRawType, getType
-
Constructor Details
-
ChunkedOutput
protected ChunkedOutput()Create newChunkedOutput. -
ChunkedOutput
CreateChunkedOutputwith specified type.- Parameters:
chunkType- chunk type. Must not be {code null}.
-
ChunkedOutput
protected ChunkedOutput(byte[] chunkDelimiter) Create newChunkedOutputwith a custom chunk delimiter.- Parameters:
chunkDelimiter- custom chunk delimiter bytes. Must not be {code null}.- Since:
- 2.4.1
-
ChunkedOutput
protected ChunkedOutput(byte[] chunkDelimiter, jakarta.inject.Provider<AsyncContext> asyncContextProvider) Create newChunkedOutputwith a custom chunk delimiter.- Parameters:
chunkDelimiter- custom chunk delimiter bytes. Must not be {code null}.- Since:
- 2.4.1
-
ChunkedOutput
Create newChunkedOutputwith a custom chunk delimiter.- Parameters:
chunkType- chunk type. Must not be {code null}.chunkDelimiter- custom chunk delimiter bytes. Must not be {code null}.- Since:
- 2.4.1
-
ChunkedOutput
Create newChunkedOutputwith a custom chunk delimiter.- Parameters:
chunkDelimiter- custom chunk delimiter string. Must not be {code null}.- Since:
- 2.4.1
-
ChunkedOutput
Create newChunkedOutputwith a custom chunk delimiter.- Parameters:
chunkType- chunk type. Must not be {code null}.chunkDelimiter- custom chunk delimiter string. Must not be {code null}.- Since:
- 2.4.1
-
-
Method Details
-
write
Write a chunk.- Parameters:
chunk- a chunk instance to be written.- Throws:
IOException- if this response is closed or when encountered any problem during serializing or writing a chunk.
-
flushQueue
- Throws:
IOException
-
close
Close this response - it will be finalized and underlying connections will be closed or made available for another response.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
isClosed
public boolean isClosed()Get state information. Please note thatChunkedOutputcan be closed by the client side - client can close connection from its side.- Returns:
- true when closed, false otherwise.
-
onClose
Executed only in case of close being triggered by client.- Parameters:
e- Exception causing the close
-
equals
- Overrides:
equalsin classGenericType<T>
-
hashCode
public int hashCode()- Overrides:
hashCodein classGenericType<T>
-
toString
- Overrides:
toStringin classGenericType<T>
-