- java.lang.Object
-
- org.apache.johnzon.jsonb.JsonbAccessMode
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,org.apache.johnzon.mapper.access.AccessMode,org.apache.johnzon.mapper.Cleanable<java.lang.Class<?>>
public class JsonbAccessMode extends java.lang.Object implements org.apache.johnzon.mapper.access.AccessMode, java.io.Closeable, org.apache.johnzon.mapper.Cleanable<java.lang.Class<?>>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classJsonbAccessMode.ClassDecoratedTypeprivate classJsonbAccessMode.ParsingCacheEntryprivate classJsonbAccessMode.ReaderConvertersprivate classJsonbAccessMode.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<jakarta.json.JsonBuilderFactory>builderFactoryprivate booleancaseSensitiveprivate java.util.Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>>defaultConvertersprivate org.apache.johnzon.mapper.access.AccessModedelegateprivate JohnzonAdapterFactoryfactoryprivate booleanfailOnMissingCreatorValuesprivate booleanglobalIsNillableprivate jakarta.json.spi.JsonProviderjsonProviderprivate jakarta.json.bind.config.PropertyNamingStrategynamingprivate java.lang.Stringorderprivate java.util.function.Supplier<jakarta.json.stream.JsonParserFactory>parserFactoryprivate java.util.concurrent.ConcurrentMap<java.lang.Class<?>,JsonbAccessMode.ParsingCacheEntry>parsingCacheprivate org.apache.johnzon.mapper.access.BaseAccessModepartialDelegateprivate booleansupportsPrivateAccessprivate java.util.Collection<JohnzonAdapterFactory.Instance<?>>toReleaseprivate Typestypesprivate jakarta.json.bind.config.PropertyVisibilityStrategyvisibility
-
Constructor Summary
Constructors Constructor Description JsonbAccessMode(jakarta.json.bind.config.PropertyNamingStrategy propertyNamingStrategy, java.lang.String orderValue, jakarta.json.bind.config.PropertyVisibilityStrategy visibilityStrategy, boolean caseSensitive, java.util.Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters, JohnzonAdapterFactory factory, jakarta.json.spi.JsonProvider jsonProvider, java.util.function.Supplier<jakarta.json.JsonBuilderFactory> builderFactory, java.util.function.Supplier<jakarta.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 voidafterParsed(java.lang.Class<?> clazz)voidclean(java.lang.Class<?> value)voidclose()private org.apache.johnzon.mapper.access.AccessMode.FactoryconstructorFactory(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.FieldfindAnyField(java.lang.Class<?> clazz)java.lang.reflect.MethodfindAnyGetter(java.lang.Class<?> clazz)java.lang.reflect.MethodfindAnySetter(java.lang.Class<?> clazz)org.apache.johnzon.mapper.access.AccessMode.FactoryfindFactory(java.lang.Class<?> clazz, java.util.function.Function<java.lang.reflect.AnnotatedElement,java.lang.String>... parameterNameExtractors)private java.lang.reflect.TypefindOptionalType(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)private java.util.Optional<java.lang.reflect.Constructor<?>>findRecordConstructor(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.ParsingCacheEntrygetClassEntry(java.lang.Class<?> clazz)private java.lang.StringgetJsonbProperty(java.lang.reflect.AnnotatedElement a)private java.lang.Class<?>getRawTargetType(java.lang.reflect.Type type)private booleanhasRawType(java.lang.reflect.Type type)private booleanisDateType(java.lang.reflect.Type type)private booleanisNillable(jakarta.json.bind.annotation.JsonbProperty property, jakarta.json.bind.annotation.JsonbNillable propertyNillable, jakarta.json.bind.annotation.JsonbNillable classOrPackageNillable)private booleanisNotVisible(jakarta.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t, java.lang.Class<?> root, boolean read)private booleanisNumberType(java.lang.reflect.Type type)private booleanisOptional(java.lang.reflect.Type type)private booleanisOptionalArray(org.apache.johnzon.mapper.access.AccessMode.DecoratedType value)private booleanisReversedAdapter(java.lang.Class<?> payloadType, java.lang.Class<?> aClass, org.apache.johnzon.mapper.Adapter<?,?> instance)private booleanisTransient(org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)private booleanisTransient(org.apache.johnzon.mapper.access.AccessMode.DecoratedType dt, jakarta.json.bind.config.PropertyVisibilityStrategy visibility, java.lang.Class<?> root, boolean read)private org.apache.johnzon.mapper.access.AccessMode.FactorymethodFactory(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.InstancenewInstance(java.lang.Class<?> value)private java.util.Comparator<java.lang.String>orderComparator(java.lang.Class<?> clazz)private booleanshouldSkip(jakarta.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t, java.lang.Class<?> root, boolean read)private org.apache.johnzon.mapper.Adapter<?,?>toConverter(Types types, java.lang.reflect.Type type, jakarta.json.bind.annotation.JsonbTypeAdapter adapter, jakarta.json.bind.annotation.JsonbDateFormat dateFormat, jakarta.json.bind.annotation.JsonbNumberFormat numberFormat)private java.lang.ObjecttryToCreateInstance(java.lang.Class<?> declaringClass)private voidvalidateAnnotations(java.lang.Object parameter, jakarta.json.bind.annotation.JsonbTypeAdapter adapter, jakarta.json.bind.annotation.JsonbDateFormat dateFormat, jakarta.json.bind.annotation.JsonbNumberFormat numberFormat, org.apache.johnzon.mapper.JohnzonConverter johnzonConverter)private voidvalidateAnnotationsOnTransientField(org.apache.johnzon.mapper.access.AccessMode.DecoratedType type)
-
-
-
Field Detail
-
naming
private final jakarta.json.bind.config.PropertyNamingStrategy naming
-
order
private final java.lang.String order
-
visibility
private final jakarta.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 jakarta.json.spi.JsonProvider jsonProvider
-
parserFactory
private final java.util.function.Supplier<jakarta.json.stream.JsonParserFactory> parserFactory
-
builderFactory
private final java.util.function.Supplier<jakarta.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 Types types
-
globalIsNillable
private final boolean globalIsNillable
-
supportsPrivateAccess
private final boolean supportsPrivateAccess
-
-
Constructor Detail
-
JsonbAccessMode
public JsonbAccessMode(jakarta.json.bind.config.PropertyNamingStrategy propertyNamingStrategy, java.lang.String orderValue, jakarta.json.bind.config.PropertyVisibilityStrategy visibilityStrategy, boolean caseSensitive, java.util.Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters, JohnzonAdapterFactory factory, jakarta.json.spi.JsonProvider jsonProvider, java.util.function.Supplier<jakarta.json.JsonBuilderFactory> builderFactory, java.util.function.Supplier<jakarta.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:
fieldComparatorin 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:
findFactoryin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findRecordConstructor
private java.util.Optional<java.lang.reflect.Constructor<?>> findRecordConstructor(java.lang.Class<?> clazz)
-
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, jakarta.json.bind.annotation.JsonbTypeAdapter adapter, jakarta.json.bind.annotation.JsonbDateFormat dateFormat, jakarta.json.bind.annotation.JsonbNumberFormat numberFormat, org.apache.johnzon.mapper.JohnzonConverter johnzonConverter)
-
toConverter
private org.apache.johnzon.mapper.Adapter<?,?> toConverter(Types types, java.lang.reflect.Type type, jakarta.json.bind.annotation.JsonbTypeAdapter adapter, jakarta.json.bind.annotation.JsonbDateFormat dateFormat, jakarta.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:
findReadersin 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:
findWritersin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findReader
public org.apache.johnzon.mapper.ObjectConverter.Reader<?> findReader(java.lang.Class<?> clazz)
- Specified by:
findReaderin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findWriter
public org.apache.johnzon.mapper.ObjectConverter.Writer<?> findWriter(java.lang.Class<?> clazz)
- Specified by:
findWriterin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAdapter
public org.apache.johnzon.mapper.Adapter<?,?> findAdapter(java.lang.Class<?> clazz)
- Specified by:
findAdapterin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAnyGetter
public java.lang.reflect.Method findAnyGetter(java.lang.Class<?> clazz)
- Specified by:
findAnyGetterin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAnySetter
public java.lang.reflect.Method findAnySetter(java.lang.Class<?> clazz)
- Specified by:
findAnySetterin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAnyField
public java.lang.reflect.Field findAnyField(java.lang.Class<?> clazz)
- Specified by:
findAnyFieldin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
afterParsed
public void afterParsed(java.lang.Class<?> clazz)
- Specified by:
afterParsedin 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(jakarta.json.bind.annotation.JsonbProperty property, jakarta.json.bind.annotation.JsonbNillable propertyNillable, jakarta.json.bind.annotation.JsonbNillable classOrPackageNillable)
-
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, jakarta.json.bind.config.PropertyVisibilityStrategy visibility, java.lang.Class<?> root, boolean read)
-
shouldSkip
private boolean shouldSkip(jakarta.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t, java.lang.Class<?> root, boolean read)
-
isTransient
private boolean isTransient(org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)
-
isNotVisible
private boolean isNotVisible(jakarta.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t, java.lang.Class<?> root, boolean read)
-
orderComparator
private java.util.Comparator<java.lang.String> orderComparator(java.lang.Class<?> clazz)
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein 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)
-
clean
public void clean(java.lang.Class<?> value)
- Specified by:
cleanin interfaceorg.apache.johnzon.mapper.Cleanable<java.lang.Class<?>>
-
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)
-
getRawTargetType
private java.lang.Class<?> getRawTargetType(java.lang.reflect.Type type)
-
-