Package org.apache.johnzon.jsonb
Class JsonbAccessMode
- java.lang.Object
-
- org.apache.johnzon.jsonb.JsonbAccessMode
-
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.johnzon.mapper.access.AccessMode,org.apache.johnzon.mapper.Cleanable<Class<?>>
public class JsonbAccessMode extends Object implements org.apache.johnzon.mapper.access.AccessMode, Closeable, org.apache.johnzon.mapper.Cleanable<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 Supplier<jakarta.json.JsonBuilderFactory>builderFactoryprivate booleancaseSensitiveprivate 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 Stringorderprivate Supplier<jakarta.json.stream.JsonParserFactory>parserFactoryprivate ConcurrentMap<Class<?>,JsonbAccessMode.ParsingCacheEntry>parsingCacheprivate org.apache.johnzon.mapper.access.BaseAccessModepartialDelegateprivate booleansupportsPrivateAccessprivate Collection<JohnzonAdapterFactory.Instance<?>>toReleaseprivate Typestypesprivate jakarta.json.bind.config.PropertyVisibilityStrategyvisibility
-
Constructor Summary
Constructors Constructor Description JsonbAccessMode(jakarta.json.bind.config.PropertyNamingStrategy propertyNamingStrategy, String orderValue, jakarta.json.bind.config.PropertyVisibilityStrategy visibilityStrategy, boolean caseSensitive, Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters, JohnzonAdapterFactory factory, jakarta.json.spi.JsonProvider jsonProvider, Supplier<jakarta.json.JsonBuilderFactory> builderFactory, 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(Class<?> clazz)voidclean(Class<?> value)voidclose()private org.apache.johnzon.mapper.access.AccessMode.FactoryconstructorFactory(Constructor<?> finalConstructor, Consumer<Object[]> factoryValidator, Type[] types, String[] params, org.apache.johnzon.mapper.Adapter<?,?>[] converters, org.apache.johnzon.mapper.Adapter<?,?>[] itemConverters, org.apache.johnzon.mapper.ObjectConverter.Codec<?>[] objectConverters)Comparator<String>fieldComparator(Class<?> clazz)org.apache.johnzon.mapper.Adapter<?,?>findAdapter(Class<?> clazz)FieldfindAnyField(Class<?> clazz)MethodfindAnyGetter(Class<?> clazz)MethodfindAnySetter(Class<?> clazz)org.apache.johnzon.mapper.access.AccessMode.FactoryfindFactory(Class<?> clazz, Function<AnnotatedElement,String>... parameterNameExtractors)private TypefindOptionalType(Type writerType)private Stream<Method>findPotentialFactoryMethods(Class<?> clazz)org.apache.johnzon.mapper.ObjectConverter.Reader<?>findReader(Class<?> clazz)Map<String,org.apache.johnzon.mapper.access.AccessMode.Reader>findReaders(Class<?> clazz)private Optional<Constructor<?>>findRecordConstructor(Class<?> clazz)org.apache.johnzon.mapper.ObjectConverter.Writer<?>findWriter(Class<?> clazz)Map<String,org.apache.johnzon.mapper.access.AccessMode.Writer>findWriters(Class<?> clazz)private static <T extends Annotation>
TgetAnnotation(Parameter param, Class<T> api)private JsonbAccessMode.ParsingCacheEntrygetClassEntry(Class<?> clazz)private StringgetJsonbProperty(AnnotatedElement a)private Class<?>getRawTargetType(Type type)private booleanhasRawType(Type type)private booleanisDateType(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, Class<?> root, boolean read)private booleanisNumberType(Type type)private booleanisOptional(Type type)private booleanisOptionalArray(org.apache.johnzon.mapper.access.AccessMode.DecoratedType value)private booleanisReversedAdapter(Class<?> payloadType, 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, Class<?> root, boolean read)private org.apache.johnzon.mapper.access.AccessMode.FactorymethodFactory(Class<?> clazz, Method finalFactory, Consumer<Object[]> factoryValidator, Type[] types, String[] params, org.apache.johnzon.mapper.Adapter<?,?>[] converters, org.apache.johnzon.mapper.Adapter<?,?>[] itemConverters, org.apache.johnzon.mapper.ObjectConverter.Codec<?>[] objectConverters)private JohnzonAdapterFactory.InstancenewInstance(Class<?> value)private Comparator<String>orderComparator(Class<?> clazz)private booleanshouldSkip(jakarta.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t, Class<?> root, boolean read)private org.apache.johnzon.mapper.Adapter<?,?>toConverter(Types types, Type type, jakarta.json.bind.annotation.JsonbTypeAdapter adapter, jakarta.json.bind.annotation.JsonbDateFormat dateFormat, jakarta.json.bind.annotation.JsonbNumberFormat numberFormat)private ObjecttryToCreateInstance(Class<?> declaringClass)private voidvalidateAnnotations(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 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 Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters
-
factory
private final JohnzonAdapterFactory factory
-
toRelease
private final Collection<JohnzonAdapterFactory.Instance<?>> toRelease
-
jsonProvider
private final jakarta.json.spi.JsonProvider jsonProvider
-
parserFactory
private final Supplier<jakarta.json.stream.JsonParserFactory> parserFactory
-
builderFactory
private final Supplier<jakarta.json.JsonBuilderFactory> builderFactory
-
parsingCache
private final ConcurrentMap<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, String orderValue, jakarta.json.bind.config.PropertyVisibilityStrategy visibilityStrategy, boolean caseSensitive, Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters, JohnzonAdapterFactory factory, jakarta.json.spi.JsonProvider jsonProvider, Supplier<jakarta.json.JsonBuilderFactory> builderFactory, Supplier<jakarta.json.stream.JsonParserFactory> parserFactory, org.apache.johnzon.mapper.access.AccessMode delegate, boolean failOnMissingCreatorValues, boolean globalIsNillable, boolean supportsPrivateAccess)
-
-
Method Detail
-
fieldComparator
public Comparator<String> fieldComparator(Class<?> clazz)
- Specified by:
fieldComparatorin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findFactory
public org.apache.johnzon.mapper.access.AccessMode.Factory findFactory(Class<?> clazz, Function<AnnotatedElement,String>... parameterNameExtractors)
- Specified by:
findFactoryin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findRecordConstructor
private Optional<Constructor<?>> findRecordConstructor(Class<?> clazz)
-
getJsonbProperty
private String getJsonbProperty(AnnotatedElement a)
-
methodFactory
private org.apache.johnzon.mapper.access.AccessMode.Factory methodFactory(Class<?> clazz, Method finalFactory, Consumer<Object[]> factoryValidator, Type[] types, String[] params, org.apache.johnzon.mapper.Adapter<?,?>[] converters, org.apache.johnzon.mapper.Adapter<?,?>[] itemConverters, org.apache.johnzon.mapper.ObjectConverter.Codec<?>[] objectConverters)
-
constructorFactory
private org.apache.johnzon.mapper.access.AccessMode.Factory constructorFactory(Constructor<?> finalConstructor, Consumer<Object[]> factoryValidator, Type[] types, 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(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, 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(Class<?> value)
-
findReaders
public Map<String,org.apache.johnzon.mapper.access.AccessMode.Reader> findReaders(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 Map<String,org.apache.johnzon.mapper.access.AccessMode.Writer> findWriters(Class<?> clazz)
- Specified by:
findWritersin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findReader
public org.apache.johnzon.mapper.ObjectConverter.Reader<?> findReader(Class<?> clazz)
- Specified by:
findReaderin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findWriter
public org.apache.johnzon.mapper.ObjectConverter.Writer<?> findWriter(Class<?> clazz)
- Specified by:
findWriterin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAdapter
public org.apache.johnzon.mapper.Adapter<?,?> findAdapter(Class<?> clazz)
- Specified by:
findAdapterin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAnyGetter
public Method findAnyGetter(Class<?> clazz)
- Specified by:
findAnyGetterin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAnySetter
public Method findAnySetter(Class<?> clazz)
- Specified by:
findAnySetterin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
findAnyField
public Field findAnyField(Class<?> clazz)
- Specified by:
findAnyFieldin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
afterParsed
public void afterParsed(Class<?> clazz)
- Specified by:
afterParsedin interfaceorg.apache.johnzon.mapper.access.AccessMode
-
isReversedAdapter
private boolean isReversedAdapter(Class<?> payloadType, 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(Class<?> clazz)
-
isOptional
private boolean isOptional(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, Class<?> root, boolean read)
-
shouldSkip
private boolean shouldSkip(jakarta.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t, 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, Class<?> root, boolean read)
-
orderComparator
private Comparator<String> orderComparator(Class<?> clazz)
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
getAnnotation
private static <T extends Annotation> T getAnnotation(Parameter param, Class<T> api)
-
clean
public void clean(Class<?> value)
- Specified by:
cleanin interfaceorg.apache.johnzon.mapper.Cleanable<Class<?>>
-
isDateType
private boolean isDateType(Type type)
-
isNumberType
private boolean isNumberType(Type type)
-
hasRawType
private boolean hasRawType(Type type)
-
-