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
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Builder that allows to create a new ChunkedOutput based on the given configuration options.static class
Builder that allows to create a new ChunkedOutput based on the given configuration options. -
Constructor Summary
ModifierConstructorDescriptionprotected
Create newChunkedOutput
.protected
ChunkedOutput
(byte[] chunkDelimiter) Create newChunkedOutput
with a custom chunk delimiter.protected
ChunkedOutput
(byte[] chunkDelimiter, jakarta.inject.Provider<AsyncContext> asyncContextProvider) Create newChunkedOutput
with a custom chunk delimiter.ChunkedOutput
(Type chunkType) CreateChunkedOutput
with specified type.ChunkedOutput
(Type chunkType, byte[] chunkDelimiter) Create newChunkedOutput
with a custom chunk delimiter.ChunkedOutput
(Type chunkType, String chunkDelimiter) Create newChunkedOutput
with a custom chunk delimiter.protected
ChunkedOutput
(String chunkDelimiter) Create newChunkedOutput
with a custom chunk delimiter.protected
ChunkedOutput
(ChunkedOutput.Builder<T> builder) Create newChunkedOutput
based on builder. -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> ChunkedOutput.Builder<T>
builder()
Returns a builder to create a ChunkedOutput with custom configuration.static <T> ChunkedOutput.TypedBuilder<T>
Returns a builder to create a ChunkedOutput with custom configuration.void
close()
Close this response - it will be finalized and underlying connections will be closed or made available for another response.boolean
protected void
int
hashCode()
boolean
isClosed()
Get state information.protected void
Executed only in case of close being triggered by client.toString()
void
Write a chunk.Methods inherited from class jakarta.ws.rs.core.GenericType
forInstance, getRawType, getType
-
Constructor Details
-
ChunkedOutput
protected ChunkedOutput()Create newChunkedOutput
. -
ChunkedOutput
Create newChunkedOutput
based on builder.- Parameters:
builder
- the builder to use
-
ChunkedOutput
CreateChunkedOutput
with specified type.- Parameters:
chunkType
- chunk type. Must not be {code null}.
-
ChunkedOutput
protected ChunkedOutput(byte[] chunkDelimiter) Create newChunkedOutput
with 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 newChunkedOutput
with a custom chunk delimiter.- Parameters:
chunkDelimiter
- custom chunk delimiter bytes. Must not be {code null}.- Since:
- 2.4.1
-
ChunkedOutput
Create newChunkedOutput
with 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 newChunkedOutput
with a custom chunk delimiter.- Parameters:
chunkDelimiter
- custom chunk delimiter string. Must not be {code null}.- Since:
- 2.4.1
-
ChunkedOutput
Create newChunkedOutput
with 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
-
builder
Returns a builder to create a ChunkedOutput with custom configuration.- Returns:
- builder
-
builder
Returns a builder to create a ChunkedOutput with custom configuration.- Parameters:
chunkType
- chunk type. Must not be {code null}.- Returns:
- builder
-
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:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
isClosed
public boolean isClosed()Get state information. Please note thatChunkedOutput
can 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:
equals
in classGenericType<T>
-
hashCode
public int hashCode()- Overrides:
hashCode
in classGenericType<T>
-
toString
- Overrides:
toString
in classGenericType<T>
-