Package org.apache.johnzon.jsonb
Class JsonbAccessMode
- java.lang.Object
-
- org.apache.johnzon.jsonb.JsonbAccessMode
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,org.apache.johnzon.mapper.access.AccessMode
public class JsonbAccessMode extends java.lang.Object implements org.apache.johnzon.mapper.access.AccessMode, java.io.Closeable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
JsonbAccessMode.ClassDecoratedType
private class
JsonbAccessMode.ParsingCacheEntry
private class
JsonbAccessMode.ReaderConverters
private class
JsonbAccessMode.WriterConverters
-
Nested classes/interfaces inherited from interface org.apache.johnzon.mapper.access.AccessMode
org.apache.johnzon.mapper.access.AccessMode.DecoratedType, org.apache.johnzon.mapper.access.AccessMode.Factory, org.apache.johnzon.mapper.access.AccessMode.Reader, org.apache.johnzon.mapper.access.AccessMode.Writer
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.function.Supplier<javax.json.JsonBuilderFactory>
builderFactory
private boolean
caseSensitive
private java.util.Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>>
defaultConverters
private org.apache.johnzon.mapper.access.AccessMode
delegate
private JohnzonAdapterFactory
factory
private boolean
failOnMissingCreatorValues
private boolean
globalIsNillable
private javax.json.spi.JsonProvider
jsonProvider
private javax.json.bind.config.PropertyNamingStrategy
naming
private java.lang.String
order
private java.util.function.Supplier<javax.json.stream.JsonParserFactory>
parserFactory
private java.util.concurrent.ConcurrentMap<java.lang.Class<?>,JsonbAccessMode.ParsingCacheEntry>
parsingCache
private org.apache.johnzon.mapper.access.BaseAccessMode
partialDelegate
private boolean
supportsPrivateAccess
private java.util.Collection<JohnzonAdapterFactory.Instance<?>>
toRelease
private org.apache.johnzon.core.Types
types
private javax.json.bind.config.PropertyVisibilityStrategy
visibility
-
Constructor Summary
Constructors Constructor Description JsonbAccessMode(javax.json.bind.config.PropertyNamingStrategy propertyNamingStrategy, java.lang.String orderValue, javax.json.bind.config.PropertyVisibilityStrategy visibilityStrategy, boolean caseSensitive, java.util.Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters, JohnzonAdapterFactory factory, javax.json.spi.JsonProvider jsonProvider, java.util.function.Supplier<javax.json.JsonBuilderFactory> builderFactory, java.util.function.Supplier<javax.json.stream.JsonParserFactory> parserFactory, org.apache.johnzon.mapper.access.AccessMode delegate, boolean failOnMissingCreatorValues, boolean globalIsNillable, boolean supportsPrivateAccess)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterParsed(java.lang.Class<?> clazz)
void
close()
private org.apache.johnzon.mapper.access.AccessMode.Factory
constructorFactory(java.lang.reflect.Constructor<?> finalConstructor, java.util.function.Consumer<java.lang.Object[]> factoryValidator, java.lang.reflect.Type[] types, java.lang.String[] params, org.apache.johnzon.mapper.Adapter<?,?>[] converters, org.apache.johnzon.mapper.Adapter<?,?>[] itemConverters, org.apache.johnzon.mapper.ObjectConverter.Codec<?>[] objectConverters)
java.util.Comparator<java.lang.String>
fieldComparator(java.lang.Class<?> clazz)
org.apache.johnzon.mapper.Adapter<?,?>
findAdapter(java.lang.Class<?> clazz)
java.lang.reflect.Field
findAnyField(java.lang.Class<?> clazz)
java.lang.reflect.Method
findAnyGetter(java.lang.Class<?> clazz)
java.lang.reflect.Method
findAnySetter(java.lang.Class<?> clazz)
org.apache.johnzon.mapper.access.AccessMode.Factory
findFactory(java.lang.Class<?> clazz, java.util.function.Function<java.lang.reflect.AnnotatedElement,java.lang.String>... parameterNameExtractors)
private java.lang.reflect.Type
findOptionalType(java.lang.reflect.Type writerType)
private java.util.stream.Stream<java.lang.reflect.Method>
findPotentialFactoryMethods(java.lang.Class<?> clazz)
org.apache.johnzon.mapper.ObjectConverter.Reader<?>
findReader(java.lang.Class<?> clazz)
java.util.Map<java.lang.String,org.apache.johnzon.mapper.access.AccessMode.Reader>
findReaders(java.lang.Class<?> clazz)
org.apache.johnzon.mapper.ObjectConverter.Writer<?>
findWriter(java.lang.Class<?> clazz)
java.util.Map<java.lang.String,org.apache.johnzon.mapper.access.AccessMode.Writer>
findWriters(java.lang.Class<?> clazz)
private static <T extends java.lang.annotation.Annotation>
TgetAnnotation(java.lang.reflect.Parameter param, java.lang.Class<T> api)
private JsonbAccessMode.ParsingCacheEntry
getClassEntry(java.lang.Class<?> clazz)
private java.lang.String
getJsonbProperty(java.lang.reflect.AnnotatedElement a)
private java.lang.Class<?>
getRawType(java.lang.reflect.Type type)
private boolean
hasRawType(java.lang.reflect.Type type)
private boolean
isDateType(java.lang.reflect.Type type)
private boolean
isNillable(javax.json.bind.annotation.JsonbProperty property, javax.json.bind.annotation.JsonbNillable nillable)
private boolean
isNotVisible(javax.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)
private boolean
isNumberType(java.lang.reflect.Type type)
private boolean
isOptional(java.lang.reflect.Type type)
private boolean
isOptionalArray(org.apache.johnzon.mapper.access.AccessMode.DecoratedType value)
private boolean
isReversedAdapter(java.lang.Class<?> payloadType, java.lang.Class<?> aClass, org.apache.johnzon.mapper.Adapter<?,?> instance)
private boolean
isTransient(org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)
private boolean
isTransient(org.apache.johnzon.mapper.access.AccessMode.DecoratedType dt, javax.json.bind.config.PropertyVisibilityStrategy visibility)
private org.apache.johnzon.mapper.access.AccessMode.Factory
methodFactory(java.lang.Class<?> clazz, java.lang.reflect.Method finalFactory, java.util.function.Consumer<java.lang.Object[]> factoryValidator, java.lang.reflect.Type[] types, java.lang.String[] params, org.apache.johnzon.mapper.Adapter<?,?>[] converters, org.apache.johnzon.mapper.Adapter<?,?>[] itemConverters, org.apache.johnzon.mapper.ObjectConverter.Codec<?>[] objectConverters)
private JohnzonAdapterFactory.Instance
newInstance(java.lang.Class<?> value)
private java.util.Comparator<java.lang.String>
orderComparator(java.lang.Class<?> clazz)
private boolean
shouldSkip(javax.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)
private org.apache.johnzon.mapper.Adapter<?,?>
toConverter(org.apache.johnzon.core.Types types, java.lang.reflect.Type type, javax.json.bind.annotation.JsonbTypeAdapter adapter, javax.json.bind.annotation.JsonbDateFormat dateFormat, javax.json.bind.annotation.JsonbNumberFormat numberFormat)
private java.lang.Object
tryToCreateInstance(java.lang.Class<?> declaringClass)
private void
validateAnnotations(java.lang.Object parameter, javax.json.bind.annotation.JsonbTypeAdapter adapter, javax.json.bind.annotation.JsonbDateFormat dateFormat, javax.json.bind.annotation.JsonbNumberFormat numberFormat, org.apache.johnzon.mapper.JohnzonConverter johnzonConverter)
private void
validateAnnotationsOnTransientField(org.apache.johnzon.mapper.access.AccessMode.DecoratedType type)
-
-
-
Field Detail
-
naming
private final javax.json.bind.config.PropertyNamingStrategy naming
-
order
private final java.lang.String order
-
visibility
private final javax.json.bind.config.PropertyVisibilityStrategy visibility
-
delegate
private final org.apache.johnzon.mapper.access.AccessMode delegate
-
caseSensitive
private final boolean caseSensitive
-
defaultConverters
private final java.util.Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters
-
factory
private final JohnzonAdapterFactory factory
-
toRelease
private final java.util.Collection<JohnzonAdapterFactory.Instance<?>> toRelease
-
jsonProvider
private final javax.json.spi.JsonProvider jsonProvider
-
parserFactory
private final java.util.function.Supplier<javax.json.stream.JsonParserFactory> parserFactory
-
builderFactory
private final java.util.function.Supplier<javax.json.JsonBuilderFactory> builderFactory
-
parsingCache
private final java.util.concurrent.ConcurrentMap<java.lang.Class<?>,JsonbAccessMode.ParsingCacheEntry> parsingCache
-
partialDelegate
private final org.apache.johnzon.mapper.access.BaseAccessMode partialDelegate
-
failOnMissingCreatorValues
private boolean failOnMissingCreatorValues
-
types
private final org.apache.johnzon.core.Types types
-
globalIsNillable
private final boolean globalIsNillable
-
supportsPrivateAccess
private final boolean supportsPrivateAccess
-
-
Constructor Detail
-
JsonbAccessMode
public JsonbAccessMode(javax.json.bind.config.PropertyNamingStrategy propertyNamingStrategy, java.lang.String orderValue, javax.json.bind.config.PropertyVisibilityStrategy visibilityStrategy, boolean caseSensitive, java.util.Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters, JohnzonAdapterFactory factory, javax.json.spi.JsonProvider jsonProvider, java.util.function.Supplier<javax.json.JsonBuilderFactory> builderFactory, java.util.function.Supplier<javax.json.stream.JsonParserFactory> parserFactory, org.apache.johnzon.mapper.access.AccessMode delegate, boolean failOnMissingCreatorValues, boolean globalIsNillable, boolean supportsPrivateAccess)
-
-
Method Detail
-
fieldComparator
public java.util.Comparator<java.lang.String> fieldComparator(java.lang.Class<?> clazz)
- Specified by:
fieldComparator
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findFactory
public org.apache.johnzon.mapper.access.AccessMode.Factory findFactory(java.lang.Class<?> clazz, java.util.function.Function<java.lang.reflect.AnnotatedElement,java.lang.String>... parameterNameExtractors)
- Specified by:
findFactory
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
getJsonbProperty
private java.lang.String getJsonbProperty(java.lang.reflect.AnnotatedElement a)
-
findPotentialFactoryMethods
private java.util.stream.Stream<java.lang.reflect.Method> findPotentialFactoryMethods(java.lang.Class<?> clazz)
-
methodFactory
private org.apache.johnzon.mapper.access.AccessMode.Factory methodFactory(java.lang.Class<?> clazz, java.lang.reflect.Method finalFactory, java.util.function.Consumer<java.lang.Object[]> factoryValidator, java.lang.reflect.Type[] types, java.lang.String[] params, org.apache.johnzon.mapper.Adapter<?,?>[] converters, org.apache.johnzon.mapper.Adapter<?,?>[] itemConverters, org.apache.johnzon.mapper.ObjectConverter.Codec<?>[] objectConverters)
-
tryToCreateInstance
private java.lang.Object tryToCreateInstance(java.lang.Class<?> declaringClass)
-
constructorFactory
private org.apache.johnzon.mapper.access.AccessMode.Factory constructorFactory(java.lang.reflect.Constructor<?> finalConstructor, java.util.function.Consumer<java.lang.Object[]> factoryValidator, java.lang.reflect.Type[] types, java.lang.String[] params, org.apache.johnzon.mapper.Adapter<?,?>[] converters, org.apache.johnzon.mapper.Adapter<?,?>[] itemConverters, org.apache.johnzon.mapper.ObjectConverter.Codec<?>[] objectConverters)
-
validateAnnotations
private void validateAnnotations(java.lang.Object parameter, javax.json.bind.annotation.JsonbTypeAdapter adapter, javax.json.bind.annotation.JsonbDateFormat dateFormat, javax.json.bind.annotation.JsonbNumberFormat numberFormat, org.apache.johnzon.mapper.JohnzonConverter johnzonConverter)
-
toConverter
private org.apache.johnzon.mapper.Adapter<?,?> toConverter(org.apache.johnzon.core.Types types, java.lang.reflect.Type type, javax.json.bind.annotation.JsonbTypeAdapter adapter, javax.json.bind.annotation.JsonbDateFormat dateFormat, javax.json.bind.annotation.JsonbNumberFormat numberFormat)
-
newInstance
private JohnzonAdapterFactory.Instance newInstance(java.lang.Class<?> value)
-
findReaders
public java.util.Map<java.lang.String,org.apache.johnzon.mapper.access.AccessMode.Reader> findReaders(java.lang.Class<?> clazz)
- Specified by:
findReaders
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
validateAnnotationsOnTransientField
private void validateAnnotationsOnTransientField(org.apache.johnzon.mapper.access.AccessMode.DecoratedType type)
-
findWriters
public java.util.Map<java.lang.String,org.apache.johnzon.mapper.access.AccessMode.Writer> findWriters(java.lang.Class<?> clazz)
- Specified by:
findWriters
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findReader
public org.apache.johnzon.mapper.ObjectConverter.Reader<?> findReader(java.lang.Class<?> clazz)
- Specified by:
findReader
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findWriter
public org.apache.johnzon.mapper.ObjectConverter.Writer<?> findWriter(java.lang.Class<?> clazz)
- Specified by:
findWriter
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAdapter
public org.apache.johnzon.mapper.Adapter<?,?> findAdapter(java.lang.Class<?> clazz)
- Specified by:
findAdapter
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAnyGetter
public java.lang.reflect.Method findAnyGetter(java.lang.Class<?> clazz)
- Specified by:
findAnyGetter
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAnySetter
public java.lang.reflect.Method findAnySetter(java.lang.Class<?> clazz)
- Specified by:
findAnySetter
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAnyField
public java.lang.reflect.Field findAnyField(java.lang.Class<?> clazz)
- Specified by:
findAnyField
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
afterParsed
public void afterParsed(java.lang.Class<?> clazz)
- Specified by:
afterParsed
in interfaceorg.apache.johnzon.mapper.access.AccessMode
-
isReversedAdapter
private boolean isReversedAdapter(java.lang.Class<?> payloadType, java.lang.Class<?> aClass, org.apache.johnzon.mapper.Adapter<?,?> instance)
-
isNillable
private boolean isNillable(javax.json.bind.annotation.JsonbProperty property, javax.json.bind.annotation.JsonbNillable nillable)
-
getClassEntry
private JsonbAccessMode.ParsingCacheEntry getClassEntry(java.lang.Class<?> clazz)
-
findOptionalType
private java.lang.reflect.Type findOptionalType(java.lang.reflect.Type writerType)
-
isOptional
private boolean isOptional(java.lang.reflect.Type type)
-
isOptionalArray
private boolean isOptionalArray(org.apache.johnzon.mapper.access.AccessMode.DecoratedType value)
-
isTransient
private boolean isTransient(org.apache.johnzon.mapper.access.AccessMode.DecoratedType dt, javax.json.bind.config.PropertyVisibilityStrategy visibility)
-
shouldSkip
private boolean shouldSkip(javax.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)
-
isTransient
private boolean isTransient(org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)
-
isNotVisible
private boolean isNotVisible(javax.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)
-
orderComparator
private java.util.Comparator<java.lang.String> orderComparator(java.lang.Class<?> clazz)
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
getAnnotation
private static <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.reflect.Parameter param, java.lang.Class<T> api)
-
isDateType
private boolean isDateType(java.lang.reflect.Type type)
-
isNumberType
private boolean isNumberType(java.lang.reflect.Type type)
-
hasRawType
private boolean hasRawType(java.lang.reflect.Type type)
-
getRawType
private java.lang.Class<?> getRawType(java.lang.reflect.Type type)
-
-