Module org.apache.johnzon.jsonb
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>,java.lang.AutoCloseable
@Provider @Produces("application/json") @Consumes("application/json") @Priority(4900) public class JsonbJaxrsProvider<T> extends java.lang.Object implements jakarta.ws.rs.ext.MessageBodyWriter<T>, jakarta.ws.rs.ext.MessageBodyReader<T>, java.lang.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 java.util.function.Function<java.lang.Class<?>,jakarta.json.bind.Jsonb>delegateprotected java.util.Collection<java.lang.String>ignoresprivate jakarta.ws.rs.ext.Providersprovidersprotected JsonbJaxrsProvider.ReadImplreadImplprivate java.lang.BooleanthrowNoContentExceptionOnEmptyStreams
-
Constructor Summary
Constructors Modifier Constructor Description JsonbJaxrsProvider()protectedJsonbJaxrsProvider(java.util.Collection<java.lang.String> ignores)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.util.Set<java.lang.Class<?>>asSet(java.lang.String classes)voidclose()protected jakarta.json.bind.JsonbcreateJsonb()private java.lang.ObjectdoRead(jakarta.json.bind.Jsonb jsonb, java.lang.reflect.Type t, java.io.InputStream stream)private java.lang.ObjectdoReadWithNoContentException(jakarta.json.bind.Jsonb jsonb, java.lang.reflect.Type t, java.io.InputStream stream)protected jakarta.json.bind.JsonbgetJsonb(java.lang.Class<?> type)private PolymorphicConfiggetOrCreatePolymorphicConfig()longgetSize(T t, java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)private booleaninitThrowNoContentExceptionOnEmptyStreams()private booleanisIgnored(java.lang.Class<?> type)booleanisReadable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)booleanisWriteable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)private java.util.logging.Loggerlogger()TreadFrom(java.lang.Class<T> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String> httpHeaders, java.io.InputStream entityStream)voidsetBinaryDataStrategy(java.lang.String binaryDataStrategy)voidsetEncoding(java.lang.String encoding)voidsetFailOnMissingCreatorValues(boolean failOnMissingCreatorValues)voidsetFailOnUnknownProperties(boolean active)voidsetIJson(boolean active)voidsetInterfaceImplementationMapping(java.util.Map<java.lang.String,java.lang.String> interfaceImplementationMapping)voidsetNullValues(boolean nulls)voidsetOtherProperties(java.lang.String others)voidsetPolymorphicDeserializationPredicate(java.lang.String classes)voidsetPolymorphicDiscriminator(java.lang.String value)voidsetPolymorphicDiscriminatorMapper(java.util.Map<java.lang.String,java.lang.String> discriminatorMapper)voidsetPolymorphicSerializationPredicate(java.lang.String classes)voidsetPolymorphicTypeLoader(java.util.Map<java.lang.String,java.lang.String> aliasTypeMapping)voidsetPretty(boolean pretty)voidsetPropertyNamingStrategy(java.lang.String propertyNamingStrategy)voidsetPropertyOrderStrategy(java.lang.String propertyOrderStrategy)voidsetThrowNoContentExceptionOnEmptyStreams(boolean throwNoContentExceptionOnEmptyStreams)voidsetUseJsRange(boolean value)voidwriteTo(T t, java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> httpHeaders, java.io.OutputStream entityStream)
-
-
-
Field Detail
-
ignores
protected final java.util.Collection<java.lang.String> ignores
-
config
protected final jakarta.json.bind.JsonbConfig config
-
delegate
protected volatile java.util.function.Function<java.lang.Class<?>,jakarta.json.bind.Jsonb> delegate
-
readImpl
protected volatile JsonbJaxrsProvider.ReadImpl readImpl
-
customized
private boolean customized
-
throwNoContentExceptionOnEmptyStreams
private java.lang.Boolean throwNoContentExceptionOnEmptyStreams
-
providers
@Context private jakarta.ws.rs.ext.Providers providers
-
-
Method Detail
-
isIgnored
private boolean isIgnored(java.lang.Class<?> type)
-
setThrowNoContentExceptionOnEmptyStreams
public void setThrowNoContentExceptionOnEmptyStreams(boolean throwNoContentExceptionOnEmptyStreams)
-
setFailOnUnknownProperties
public void setFailOnUnknownProperties(boolean active)
-
setUseJsRange
public void setUseJsRange(boolean value)
-
setOtherProperties
public void setOtherProperties(java.lang.String others)
-
setIJson
public void setIJson(boolean active)
-
setEncoding
public void setEncoding(java.lang.String encoding)
-
setBinaryDataStrategy
public void setBinaryDataStrategy(java.lang.String binaryDataStrategy)
-
setPropertyNamingStrategy
public void setPropertyNamingStrategy(java.lang.String propertyNamingStrategy)
-
setPropertyOrderStrategy
public void setPropertyOrderStrategy(java.lang.String propertyOrderStrategy)
-
setNullValues
public void setNullValues(boolean nulls)
-
setPretty
public void setPretty(boolean pretty)
-
setFailOnMissingCreatorValues
public void setFailOnMissingCreatorValues(boolean failOnMissingCreatorValues)
-
setInterfaceImplementationMapping
public void setInterfaceImplementationMapping(java.util.Map<java.lang.String,java.lang.String> interfaceImplementationMapping)
-
setPolymorphicSerializationPredicate
public void setPolymorphicSerializationPredicate(java.lang.String classes)
-
setPolymorphicDeserializationPredicate
public void setPolymorphicDeserializationPredicate(java.lang.String classes)
-
setPolymorphicDiscriminatorMapper
public void setPolymorphicDiscriminatorMapper(java.util.Map<java.lang.String,java.lang.String> discriminatorMapper)
-
setPolymorphicTypeLoader
public void setPolymorphicTypeLoader(java.util.Map<java.lang.String,java.lang.String> aliasTypeMapping)
-
setPolymorphicDiscriminator
public void setPolymorphicDiscriminator(java.lang.String value)
-
getOrCreatePolymorphicConfig
private PolymorphicConfig getOrCreatePolymorphicConfig()
-
asSet
private java.util.Set<java.lang.Class<?>> asSet(java.lang.String classes)
-
isReadable
public boolean isReadable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)- Specified by:
isReadablein interfacejakarta.ws.rs.ext.MessageBodyReader<T>
-
isWriteable
public boolean isWriteable(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)- Specified by:
isWriteablein interfacejakarta.ws.rs.ext.MessageBodyWriter<T>
-
getSize
public long getSize(T t, java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)
- Specified by:
getSizein interfacejakarta.ws.rs.ext.MessageBodyWriter<T>
-
readFrom
public T readFrom(java.lang.Class<T> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String> httpHeaders, java.io.InputStream entityStream) throws jakarta.ws.rs.WebApplicationException, java.io.IOException
- Specified by:
readFromin interfacejakarta.ws.rs.ext.MessageBodyReader<T>- Throws:
jakarta.ws.rs.WebApplicationExceptionjava.io.IOException
-
writeTo
public void writeTo(T t, java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.annotation.Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> httpHeaders, java.io.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(java.lang.Class<?> type)
-
initThrowNoContentExceptionOnEmptyStreams
private boolean initThrowNoContentExceptionOnEmptyStreams()
-
doRead
private java.lang.Object doRead(jakarta.json.bind.Jsonb jsonb, java.lang.reflect.Type t, java.io.InputStream stream)
-
doReadWithNoContentException
private java.lang.Object doReadWithNoContentException(jakarta.json.bind.Jsonb jsonb, java.lang.reflect.Type t, java.io.InputStream stream) throws jakarta.ws.rs.core.NoContentException- Throws:
jakarta.ws.rs.core.NoContentException
-
logger
private java.util.logging.Logger logger()
-
close
public void close() throws java.lang.Exception- Specified by:
closein interfacejava.lang.AutoCloseable- Throws:
java.lang.Exception
-
-