Class JsonbJaxrsProvider<T>

  • All Implemented Interfaces:
    jakarta.ws.rs.ext.MessageBodyReader<T>, jakarta.ws.rs.ext.MessageBodyWriter<T>, AutoCloseable

    @Provider
    @Produces("application/json")
    @Consumes("application/json")
    @Priority(4900)
    public class JsonbJaxrsProvider<T>
    extends Object
    implements jakarta.ws.rs.ext.MessageBodyWriter<T>, jakarta.ws.rs.ext.MessageBodyReader<T>, AutoCloseable
    • Field Detail

      • config

        protected final jakarta.json.bind.JsonbConfig config
      • delegate

        protected volatile Function<Class<?>,​jakarta.json.bind.Jsonb> delegate
      • customized

        private boolean customized
      • throwNoContentExceptionOnEmptyStreams

        private Boolean throwNoContentExceptionOnEmptyStreams
      • providers

        @Context
        private jakarta.ws.rs.ext.Providers providers
    • Constructor Detail

      • JsonbJaxrsProvider

        public JsonbJaxrsProvider()
      • JsonbJaxrsProvider

        protected JsonbJaxrsProvider​(Collection<String> ignores)
    • Method Detail

      • isIgnored

        private boolean isIgnored​(Class<?> type)
      • setThrowNoContentExceptionOnEmptyStreams

        public void setThrowNoContentExceptionOnEmptyStreams​(boolean throwNoContentExceptionOnEmptyStreams)
      • setFailOnUnknownProperties

        public void setFailOnUnknownProperties​(boolean active)
      • setUseJsRange

        public void setUseJsRange​(boolean value)
      • setOtherProperties

        public void setOtherProperties​(String others)
      • setIJson

        public void setIJson​(boolean active)
      • setEncoding

        public void setEncoding​(String encoding)
      • setBinaryDataStrategy

        public void setBinaryDataStrategy​(String binaryDataStrategy)
      • setPropertyNamingStrategy

        public void setPropertyNamingStrategy​(String propertyNamingStrategy)
      • setPropertyOrderStrategy

        public void setPropertyOrderStrategy​(String propertyOrderStrategy)
      • setNullValues

        public void setNullValues​(boolean nulls)
      • setPretty

        public void setPretty​(boolean pretty)
      • setFailOnMissingCreatorValues

        public void setFailOnMissingCreatorValues​(boolean failOnMissingCreatorValues)
      • setInterfaceImplementationMapping

        public void setInterfaceImplementationMapping​(Map<String,​String> interfaceImplementationMapping)
      • setPolymorphicSerializationPredicate

        public void setPolymorphicSerializationPredicate​(String classes)
      • setPolymorphicDeserializationPredicate

        public void setPolymorphicDeserializationPredicate​(String classes)
      • setPolymorphicDiscriminatorMapper

        public void setPolymorphicDiscriminatorMapper​(Map<String,​String> discriminatorMapper)
      • setPolymorphicTypeLoader

        public void setPolymorphicTypeLoader​(Map<String,​String> aliasTypeMapping)
      • setPolymorphicDiscriminator

        public void setPolymorphicDiscriminator​(String value)
      • getOrCreatePolymorphicConfig

        private PolymorphicConfig getOrCreatePolymorphicConfig()
      • isReadable

        public boolean isReadable​(Class<?> type,
                                  Type genericType,
                                  Annotation[] annotations,
                                  jakarta.ws.rs.core.MediaType mediaType)
        Specified by:
        isReadable in interface jakarta.ws.rs.ext.MessageBodyReader<T>
      • isWriteable

        public boolean isWriteable​(Class<?> type,
                                   Type genericType,
                                   Annotation[] annotations,
                                   jakarta.ws.rs.core.MediaType mediaType)
        Specified by:
        isWriteable in interface jakarta.ws.rs.ext.MessageBodyWriter<T>
      • getSize

        public long getSize​(T t,
                            Class<?> type,
                            Type genericType,
                            Annotation[] annotations,
                            jakarta.ws.rs.core.MediaType mediaType)
        Specified by:
        getSize in interface jakarta.ws.rs.ext.MessageBodyWriter<T>
      • readFrom

        public T readFrom​(Class<T> type,
                          Type genericType,
                          Annotation[] annotations,
                          jakarta.ws.rs.core.MediaType mediaType,
                          jakarta.ws.rs.core.MultivaluedMap<String,​String> httpHeaders,
                          InputStream entityStream)
                   throws jakarta.ws.rs.WebApplicationException,
                          IOException
        Specified by:
        readFrom in interface jakarta.ws.rs.ext.MessageBodyReader<T>
        Throws:
        jakarta.ws.rs.WebApplicationException
        IOException
      • writeTo

        public void writeTo​(T t,
                            Class<?> type,
                            Type genericType,
                            Annotation[] annotations,
                            jakarta.ws.rs.core.MediaType mediaType,
                            jakarta.ws.rs.core.MultivaluedMap<String,​Object> httpHeaders,
                            OutputStream entityStream)
                     throws jakarta.ws.rs.WebApplicationException
        Specified by:
        writeTo in interface jakarta.ws.rs.ext.MessageBodyWriter<T>
        Throws:
        jakarta.ws.rs.WebApplicationException
      • createJsonb

        protected jakarta.json.bind.Jsonb createJsonb()
      • getJsonb

        protected jakarta.json.bind.Jsonb getJsonb​(Class<?> type)
      • initThrowNoContentExceptionOnEmptyStreams

        private boolean initThrowNoContentExceptionOnEmptyStreams()
      • doReadWithNoContentException

        private Object doReadWithNoContentException​(jakarta.json.bind.Jsonb jsonb,
                                                    Type t,
                                                    InputStream stream)
                                             throws jakarta.ws.rs.core.NoContentException
        Throws:
        jakarta.ws.rs.core.NoContentException
      • logger

        private Logger logger()