Class MessageBodyReadableContent

    • Method Detail

      • readerContext

        public MessageBodyReaderContext readerContext()
        Get the reader context used to unmarshall data.
        Returns:
        MessageBodyReaderContext
      • registerFilter

        public MessageBodyReadableContent registerFilter​(MessageBodyFilter filter)
        Description copied from interface: MessageBodyFilters
        Registers a message body filter.

        The registered filters are applied to form a chain from the first registered to the last registered. The first evaluation of the function transforms the original publisher to a new publisher. Any subsequent evaluation receives the publisher transformed by the last previously registered filter.

        Specified by:
        registerFilter in interface MessageBodyFilters
        Parameters:
        filter - a function to map previously registered or original Publisher to the new one. If returns null then the result will be ignored.
        Returns:
        this instance of MessageBodyFilters
        See Also:
        MessageBodyContext.applyFilters(Flow.Publisher)
      • registerFilter

        @Deprecated
        public void registerFilter​(Function<Flow.Publisher<DataChunk>,​Flow.Publisher<DataChunk>> function)
        Deprecated.
        Description copied from interface: Content
        Registers a filter that allows a control of the original publisher.

        The provided function is evaluated upon calling either of Content.subscribe(Flow.Subscriber) or Content.as(Class). The first evaluation of the function transforms the original publisher to a new publisher. Any subsequent evaluation receives the publisher transformed by the last previously registered filter. It is up to the implementor of the given function to respect the contract of both the original publisher and the previously registered ones.

        Specified by:
        registerFilter in interface Content
        Parameters:
        function - a function that transforms a given publisher (that is either the original publisher or the publisher transformed by the last previously registered filter).
      • registerReader

        @Deprecated
        public <T> void registerReader​(Class<T> type,
                                       Reader<T> reader)
        Deprecated.
        Description copied from interface: Content
        Registers a reader for a later use with an appropriate Content.as(Class) method call.

        The reader must transform the published byte buffers into a completion stage of the requested type.

        Upon calling Content.as(Class) a matching reader is searched in the same order as the readers were registered. If no matching reader is found, or when the function throws an exception, the resulting completion stage ends exceptionally.

        Specified by:
        registerReader in interface Content
        Type Parameters:
        T - the requested type
        Parameters:
        type - the requested type the completion stage is be associated with.
        reader - the reader as a function that transforms a publisher into completion stage. If an exception is thrown, the resulting completion stage of Content.as(Class) method call ends exceptionally.
      • registerReader

        @Deprecated
        public <T> void registerReader​(Predicate<Class<?>> predicate,
                                       Reader<T> reader)
        Deprecated.
        Description copied from interface: Content
        Registers a reader for a later use with an appropriate Content.as(Class) method call.

        The reader must transform the published byte buffers into a completion stage of the requested type.

        Upon calling Content.as(Class) a matching reader is searched in the same order as the readers were registered. If no matching reader is found or when the predicate throws an exception, or when the function throws an exception, the resulting completion stage ends exceptionally.

        Specified by:
        registerReader in interface Content
        Type Parameters:
        T - the requested type
        Parameters:
        predicate - the predicate that determines whether the registered reader can handle the requested type. If an exception is thrown, the resulting completion stage of Content.as(Class) method call ends exceptionally.
        reader - the reader as a function that transforms a publisher into completion stage. If an exception is thrown, the resulting completion stage of Content.as(Class) method call ends exceptionally.
      • as

        public <T> Single<T> as​(Class<T> type)
        Description copied from interface: Content
        Consumes and converts the request content into a completion stage of the requested type.

        The conversion requires an appropriate reader to be already registered (see Content.registerReader(Predicate, Reader)). If no such reader is found, the resulting completion stage ends exceptionally.

        Any callback related to the returned value, should not be blocking. Blocking operation could cause deadlock. If you need to use blocking API such as InputStream it is highly recommended to do so out of the scope of reactive chain, or to use methods like CompletionStage.thenAcceptAsync(Consumer, Executor).

        Specified by:
        as in interface Content
        Type Parameters:
        T - the requested type
        Parameters:
        type - the requested type class
        Returns:
        a completion stage of the requested type
      • as

        public <T> Single<T> as​(GenericType<T> type)
        Consumes and converts the content payload into a completion stage of the requested type.
        Type Parameters:
        T - the requested type
        Parameters:
        type - the requested type class
        Returns:
        a completion stage of the requested type
      • asStream

        public <T> Multi<T> asStream​(Class<T> type)
        Consumes and converts the content payload into a stream of entities of the requested type.
        Type Parameters:
        T - the requested type
        Parameters:
        type - the requested type class
        Returns:
        a stream of entities
      • asStream

        public <T> Multi<T> asStream​(GenericType<T> type)
        Consumes and converts the content payload into a stream of entities of the requested type.
        Type Parameters:
        T - the requested type
        Parameters:
        type - the requested type class
        Returns:
        a stream of entities