Package io.helidon.reactive.media.common
Class MessageBodyReaderContext
java.lang.Object
io.helidon.reactive.media.common.MessageBodyContext
io.helidon.reactive.media.common.MessageBodyReaderContext
- All Implemented Interfaces:
MessageBodyFilters,MessageBodyReaders
public final class MessageBodyReaderContext
extends MessageBodyContext
implements MessageBodyReaders, MessageBodyFilters
Reader message body context.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class io.helidon.reactive.media.common.MessageBodyContext
MessageBodyContext.ErrorEvent, MessageBodyContext.Event, MessageBodyContext.EventListener, MessageBodyContext.EventType -
Method Summary
Modifier and TypeMethodDescriptioncharset()Derive the charset to use from theContent-Typeheader value or using a default charset as fallback.Get theContent-Typeheader.static MessageBodyReaderContextcreate()Create a new empty reader context backed by empty read-only headers.static MessageBodyReaderContextcreate(MediaContext mediaContext, MessageBodyContext.EventListener eventListener, Headers headers, Optional<HttpMediaType> contentType) Create a new empty reader context backed by the specified headers.static MessageBodyReaderContextcreate(MessageBodyReaderContext parent) Creates a new parented reader context.static MessageBodyReaderContextcreate(MessageBodyReaderContext parent, MessageBodyContext.EventListener eventListener, Headers headers, Optional<HttpMediaType> contentType) Create a new empty reader context backed by the specified headers.headers()Get the underlying headers.registerReader(MessageBodyReader<?> reader) Register a reader.registerReader(MessageBodyStreamReader<?> reader) Register a stream reader.<T> Single<T>unmarshall(Flow.Publisher<DataChunk> payload, GenericType<T> type) Convert a given HTTP payload into a publisher by selecting a reader that accepts the specified type and current context.<T> Single<T>unmarshall(Flow.Publisher<DataChunk> payload, MessageBodyReader<T> reader, GenericType<T> type) Convert a given HTTP payload into a publisher by selecting a reader with the specified class.<T> Flow.Publisher<T>unmarshallStream(Flow.Publisher<DataChunk> payload, GenericType<T> type) Convert a given HTTP payload into a publisher by selecting a stream reader that accepts the specified type and current context.<T> Flow.Publisher<T>unmarshallStream(Flow.Publisher<DataChunk> payload, MessageBodyStreamReader<T> reader, GenericType<T> type) Convert a given HTTP payload into a publisher by selecting a stream reader with the payload class.Methods inherited from class io.helidon.reactive.media.common.MessageBodyContext
applyFilters, applyFilters, registerFilterMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.helidon.reactive.media.common.MessageBodyFilters
registerFilter
-
Method Details
-
create
Create a new empty reader context backed by empty read-only headers. Such reader context is typically the parent context that is used to hold application wide readers and inbound filters.- Returns:
- MessageBodyWriterContext
-
registerReader
Description copied from interface:MessageBodyReadersRegister a reader.- Specified by:
registerReaderin interfaceMessageBodyReaders- Parameters:
reader- reader to register- Returns:
- Readers
-
registerReader
Description copied from interface:MessageBodyReadersRegister a stream reader.- Specified by:
registerReaderin interfaceMessageBodyReaders- Parameters:
reader- reader to register- Returns:
- Readers
-
unmarshall
Convert a given HTTP payload into a publisher by selecting a reader that accepts the specified type and current context.- Type Parameters:
T- entity type- Parameters:
payload- inbound payloadtype- actual representation of the entity type- Returns:
- publisher, never
null
-
unmarshall
public <T> Single<T> unmarshall(Flow.Publisher<DataChunk> payload, MessageBodyReader<T> reader, GenericType<T> type) Convert a given HTTP payload into a publisher by selecting a reader with the specified class.- Type Parameters:
T- entity type- Parameters:
payload- inbound payloadreader- specific readertype- actual representation of the entity type- Returns:
- publisher, never
null
-
unmarshallStream
public <T> Flow.Publisher<T> unmarshallStream(Flow.Publisher<DataChunk> payload, GenericType<T> type) Convert a given HTTP payload into a publisher by selecting a stream reader that accepts the specified type and current context.- Type Parameters:
T- entity type- Parameters:
payload- inbound payloadtype- actual representation of the entity type- Returns:
- publisher, never
null
-
unmarshallStream
public <T> Flow.Publisher<T> unmarshallStream(Flow.Publisher<DataChunk> payload, MessageBodyStreamReader<T> reader, GenericType<T> type) Convert a given HTTP payload into a publisher by selecting a stream reader with the payload class.- Type Parameters:
T- entity type- Parameters:
payload- inbound payloadreader- specific readertype- actual representation of the entity type- Returns:
- publisher, never
null
-
headers
Get the underlying headers.- Returns:
- Parameters, never
null
-
contentType
Get theContent-Typeheader.- Returns:
- Optional, never
null
-
charset
Description copied from class:MessageBodyContextDerive the charset to use from theContent-Typeheader value or using a default charset as fallback.- Specified by:
charsetin classMessageBodyContext- Returns:
- Charset, never
null - Throws:
IllegalStateException- if an error occurs loading the charset specified by theContent-Typeheader value
-
create
Creates a new parented reader context.- Parameters:
parent- parent reader context- Returns:
- new instance of MessageBodyReaderContext
-
create
public static MessageBodyReaderContext create(MediaContext mediaContext, MessageBodyContext.EventListener eventListener, Headers headers, Optional<HttpMediaType> contentType) Create a new empty reader context backed by the specified headers.- Parameters:
mediaContext- mediaSupport instance used to derived the parent context, may benulleventListener- subscription event listener, may benullheaders- backing headers, must not benullcontentType- content type, must not benull- Returns:
- MessageBodyReaderContext
-
create
public static MessageBodyReaderContext create(MessageBodyReaderContext parent, MessageBodyContext.EventListener eventListener, Headers headers, Optional<HttpMediaType> contentType) Create a new empty reader context backed by the specified headers.- Parameters:
parent- parent context, must not benulleventListener- subscription event listener, may benullheaders- backing headers, must not benullcontentType- content type, must not benull- Returns:
- MessageBodyReaderContext
-