Class JsonbJaxrsProvider<T>
- java.lang.Object
-
- org.apache.johnzon.jaxrs.jsonb.jaxrs.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classJsonbJaxrsProvider.DynamicInstanceprivate static classJsonbJaxrsProvider.ProvidedInstanceprivate static interfaceJsonbJaxrsProvider.ReadImpl
-
Field Summary
Fields Modifier and Type Field Description protected jakarta.json.bind.JsonbConfigconfigprivate booleancustomizedprotected Function<Class<?>,jakarta.json.bind.Jsonb>delegateprotected Collection<String>ignoresprivate jakarta.ws.rs.ext.Providersprovidersprotected JsonbJaxrsProvider.ReadImplreadImplprivate BooleanthrowNoContentExceptionOnEmptyStreams
-
Constructor Summary
Constructors Modifier Constructor Description JsonbJaxrsProvider()protectedJsonbJaxrsProvider(Collection<String> ignores)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private Set<Class<?>>asSet(String classes)voidclose()protected jakarta.json.bind.JsonbcreateJsonb()private ObjectdoRead(jakarta.json.bind.Jsonb jsonb, Type t, InputStream stream)private ObjectdoReadWithNoContentException(jakarta.json.bind.Jsonb jsonb, Type t, InputStream stream)protected jakarta.json.bind.JsonbgetJsonb(Class<?> type)private PolymorphicConfiggetOrCreatePolymorphicConfig()longgetSize(T t, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)private booleaninitThrowNoContentExceptionOnEmptyStreams()private booleanisIgnored(Class<?> type)booleanisReadable(Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)booleanisWriteable(Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)private Loggerlogger()TreadFrom(Class<T> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String,String> httpHeaders, InputStream entityStream)voidsetBinaryDataStrategy(String binaryDataStrategy)voidsetEncoding(String encoding)voidsetFailOnMissingCreatorValues(boolean failOnMissingCreatorValues)voidsetFailOnUnknownProperties(boolean active)voidsetIJson(boolean active)voidsetInterfaceImplementationMapping(Map<String,String> interfaceImplementationMapping)voidsetNullValues(boolean nulls)voidsetOtherProperties(String others)voidsetPolymorphicDeserializationPredicate(String classes)voidsetPolymorphicDiscriminator(String value)voidsetPolymorphicDiscriminatorMapper(Map<String,String> discriminatorMapper)voidsetPolymorphicSerializationPredicate(String classes)voidsetPolymorphicTypeLoader(Map<String,String> aliasTypeMapping)voidsetPretty(boolean pretty)voidsetPropertyNamingStrategy(String propertyNamingStrategy)voidsetPropertyOrderStrategy(String propertyOrderStrategy)voidsetThrowNoContentExceptionOnEmptyStreams(boolean throwNoContentExceptionOnEmptyStreams)voidsetUseJsRange(boolean value)voidwriteTo(T t, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream)
-
-
-
Field Detail
-
ignores
protected final Collection<String> ignores
-
config
protected final jakarta.json.bind.JsonbConfig config
-
readImpl
protected volatile JsonbJaxrsProvider.ReadImpl readImpl
-
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:
isReadablein interfacejakarta.ws.rs.ext.MessageBodyReader<T>
-
isWriteable
public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)
- Specified by:
isWriteablein interfacejakarta.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:
getSizein interfacejakarta.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:
readFromin interfacejakarta.ws.rs.ext.MessageBodyReader<T>- Throws:
jakarta.ws.rs.WebApplicationExceptionIOException
-
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:
writeToin interfacejakarta.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()
-
doRead
private Object doRead(jakarta.json.bind.Jsonb jsonb, Type t, InputStream stream)
-
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()
-
close
public void close() throws Exception- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-
-