T
- chunk type.public class ChunkedInput<T> extends GenericType<T> implements Closeable
Modifier | Constructor and Description |
---|---|
protected |
ChunkedInput(Type chunkType,
InputStream inputStream,
Annotation[] annotations,
MediaType mediaType,
MultivaluedMap<String,String> headers,
MessageBodyWorkers messageBodyWorkers,
PropertiesDelegate propertiesDelegate)
Package-private constructor used by the
ChunkedInputReader . |
Modifier and Type | Method and Description |
---|---|
void |
close() |
static ChunkParser |
createMultiParser(String... boundaries)
Create a new chunk multi-parser that will split the response entity input stream
based on multiple fixed boundary strings.
|
static ChunkParser |
createParser(byte[] boundary)
Create new chunk parser that will split the response entity input stream
based on a fixed boundary sequence of bytes.
|
static ChunkParser |
createParser(String boundary)
Create new chunk parser that will split the response entity input stream
based on a fixed boundary string.
|
MediaType |
getChunkType()
Get chunk data media type.
|
ChunkParser |
getParser()
Get the underlying chunk parser.
|
boolean |
isClosed()
Check if the chunked input has been closed.
|
T |
read()
Read next chunk from the response stream and convert it to a Java instance
using the
chunk media type . |
void |
setChunkType(MediaType mediaType)
Set custom chunk data media type.
|
void |
setChunkType(String mediaType)
Set custom chunk data media type from a string value.
|
void |
setParser(ChunkParser parser)
Set new chunk parser.
|
equals, forInstance, getRawType, getType, hashCode, toString
protected ChunkedInput(Type chunkType, InputStream inputStream, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String,String> headers, MessageBodyWorkers messageBodyWorkers, PropertiesDelegate propertiesDelegate)
ChunkedInputReader
.chunkType
- chunk type.inputStream
- response input stream.annotations
- annotations associated with response entity.mediaType
- response entity media type.headers
- response headers.messageBodyWorkers
- message body workers.propertiesDelegate
- properties delegate for this request/response.public static ChunkParser createParser(String boundary)
boundary
- chunk boundary.public static ChunkParser createParser(byte[] boundary)
boundary
- chunk boundary.public static ChunkParser createMultiParser(String... boundaries)
boundaries
- chunk boundaries.public ChunkParser getParser()
Note: Access to internal chunk parser is not a thread-safe operation and has to be explicitly synchronized in case the chunked input is used from multiple threads.
public void setParser(ChunkParser parser)
Note: Access to internal chunk parser is not a thread-safe operation and has to be explicitly synchronized in case the chunked input is used from multiple threads.
parser
- new chunk parser.public MediaType getChunkType()
setting
a custom non-null
chunk media type value.
Note: Access to internal chunk media type is not a thread-safe operation and has to be explicitly synchronized in case the chunked input is used from multiple threads.
public void setChunkType(MediaType mediaType) throws IllegalArgumentException
null
chunk media type. Once this method is invoked,
all subsequent chunk reads
will use the newly set chunk media
type when selecting the proper MessageBodyReader
for
chunk de-serialization.
Note: Access to internal chunk media type is not a thread-safe operation and has to be explicitly synchronized in case the chunked input is used from multiple threads.
mediaType
- custom chunk data media type. Must not be null
.IllegalArgumentException
- in case the mediaType
is null
.public void setChunkType(String mediaType) throws IllegalArgumentException
Note: Access to internal chunk media type is not a thread-safe operation and has to be explicitly synchronized in case the chunked input is used from multiple threads.
mediaType
- custom chunk data media type. Must not be null
.IllegalArgumentException
- in case the mediaType
cannot be parsed into
a valid MediaType
instance or is null
.setChunkType(jakarta.ws.rs.core.MediaType)
public void close()
close
in interface Closeable
close
in interface AutoCloseable
public boolean isClosed()
true
if this chunked input has been closed, false
otherwise.public T read() throws IllegalStateException
chunk media type
. The method returns null
if the underlying entity input stream has been closed (either implicitly or explicitly
by calling the close()
method).
Note: Access to internal chunk parser is not a thread-safe operation and has to be explicitly synchronized in case the chunked input is used from multiple threads.
null
if the underlying entity input stream
has been closed while reading next chunk data.IllegalStateException
- in case this chunked input has been closed.Copyright © 2007-2023, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.