public class JsonbAccessMode extends Object implements org.apache.johnzon.mapper.access.AccessMode, Closeable
Modifier and Type | Class and Description |
---|---|
private static class |
JsonbAccessMode.ClassDecoratedType |
private class |
JsonbAccessMode.ParsingCacheEntry |
private class |
JsonbAccessMode.ReaderConverters |
private class |
JsonbAccessMode.WriterConverters |
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
Modifier and Type | Field and Description |
---|---|
private Supplier<javax.json.JsonBuilderFactory> |
builderFactory |
private boolean |
caseSensitive |
private 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 String |
order |
private Supplier<javax.json.stream.JsonParserFactory> |
parserFactory |
private ConcurrentMap<Class<?>,JsonbAccessMode.ParsingCacheEntry> |
parsingCache |
private org.apache.johnzon.mapper.access.BaseAccessMode |
partialDelegate |
private boolean |
supportsPrivateAccess |
private Collection<JohnzonAdapterFactory.Instance<?>> |
toRelease |
private org.apache.johnzon.core.Types |
types |
private javax.json.bind.config.PropertyVisibilityStrategy |
visibility |
Constructor and Description |
---|
JsonbAccessMode(javax.json.bind.config.PropertyNamingStrategy propertyNamingStrategy,
String orderValue,
javax.json.bind.config.PropertyVisibilityStrategy visibilityStrategy,
boolean caseSensitive,
Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters,
JohnzonAdapterFactory factory,
javax.json.spi.JsonProvider jsonProvider,
Supplier<javax.json.JsonBuilderFactory> builderFactory,
Supplier<javax.json.stream.JsonParserFactory> parserFactory,
org.apache.johnzon.mapper.access.AccessMode delegate,
boolean failOnMissingCreatorValues,
boolean globalIsNillable,
boolean supportsPrivateAccess) |
Modifier and Type | Method and Description |
---|---|
void |
afterParsed(Class<?> clazz) |
void |
close() |
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) |
Comparator<String> |
fieldComparator(Class<?> clazz) |
org.apache.johnzon.mapper.Adapter<?,?> |
findAdapter(Class<?> clazz) |
Method |
findAnyGetter(Class<?> clazz) |
Method |
findAnySetter(Class<?> clazz) |
org.apache.johnzon.mapper.access.AccessMode.Factory |
findFactory(Class<?> clazz,
Function<AnnotatedElement,String>... parameterNameExtractors) |
private Type |
findOptionalType(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) |
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> |
getAnnotation(Parameter param,
Class<T> api) |
private JsonbAccessMode.ParsingCacheEntry |
getClassEntry(Class<?> clazz) |
private String |
getJsonbProperty(AnnotatedElement a) |
private Class<?> |
getRawType(Type type) |
private boolean |
hasRawType(Type type) |
private boolean |
isDateType(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(Type type) |
private boolean |
isOptional(Type type) |
private boolean |
isOptionalArray(org.apache.johnzon.mapper.access.AccessMode.DecoratedType value) |
private boolean |
isReversedAdapter(Class<?> payloadType,
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(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.Instance |
newInstance(Class<?> value) |
private Comparator<String> |
orderComparator(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,
Type type,
javax.json.bind.annotation.JsonbTypeAdapter adapter,
javax.json.bind.annotation.JsonbDateFormat dateFormat,
javax.json.bind.annotation.JsonbNumberFormat numberFormat) |
private Object |
tryToCreateInstance(Class<?> declaringClass) |
private void |
validateAnnotations(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) |
private final javax.json.bind.config.PropertyNamingStrategy naming
private final String order
private final javax.json.bind.config.PropertyVisibilityStrategy visibility
private final org.apache.johnzon.mapper.access.AccessMode delegate
private final boolean caseSensitive
private final Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters
private final JohnzonAdapterFactory factory
private final Collection<JohnzonAdapterFactory.Instance<?>> toRelease
private final javax.json.spi.JsonProvider jsonProvider
private final Supplier<javax.json.stream.JsonParserFactory> parserFactory
private final Supplier<javax.json.JsonBuilderFactory> builderFactory
private final ConcurrentMap<Class<?>,JsonbAccessMode.ParsingCacheEntry> parsingCache
private final org.apache.johnzon.mapper.access.BaseAccessMode partialDelegate
private boolean failOnMissingCreatorValues
private final org.apache.johnzon.core.Types types
private final boolean globalIsNillable
private final boolean supportsPrivateAccess
public JsonbAccessMode(javax.json.bind.config.PropertyNamingStrategy propertyNamingStrategy, String orderValue, javax.json.bind.config.PropertyVisibilityStrategy visibilityStrategy, boolean caseSensitive, Map<org.apache.johnzon.mapper.internal.AdapterKey,org.apache.johnzon.mapper.Adapter<?,?>> defaultConverters, JohnzonAdapterFactory factory, javax.json.spi.JsonProvider jsonProvider, Supplier<javax.json.JsonBuilderFactory> builderFactory, Supplier<javax.json.stream.JsonParserFactory> parserFactory, org.apache.johnzon.mapper.access.AccessMode delegate, boolean failOnMissingCreatorValues, boolean globalIsNillable, boolean supportsPrivateAccess)
public Comparator<String> fieldComparator(Class<?> clazz)
fieldComparator
in interface org.apache.johnzon.mapper.access.AccessMode
public org.apache.johnzon.mapper.access.AccessMode.Factory findFactory(Class<?> clazz, Function<AnnotatedElement,String>... parameterNameExtractors)
findFactory
in interface org.apache.johnzon.mapper.access.AccessMode
private String getJsonbProperty(AnnotatedElement a)
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)
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)
private void validateAnnotations(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 org.apache.johnzon.mapper.Adapter<?,?> toConverter(org.apache.johnzon.core.Types types, Type type, javax.json.bind.annotation.JsonbTypeAdapter adapter, javax.json.bind.annotation.JsonbDateFormat dateFormat, javax.json.bind.annotation.JsonbNumberFormat numberFormat)
private JohnzonAdapterFactory.Instance newInstance(Class<?> value)
public Map<String,org.apache.johnzon.mapper.access.AccessMode.Reader> findReaders(Class<?> clazz)
findReaders
in interface org.apache.johnzon.mapper.access.AccessMode
private void validateAnnotationsOnTransientField(org.apache.johnzon.mapper.access.AccessMode.DecoratedType type)
public Map<String,org.apache.johnzon.mapper.access.AccessMode.Writer> findWriters(Class<?> clazz)
findWriters
in interface org.apache.johnzon.mapper.access.AccessMode
public org.apache.johnzon.mapper.ObjectConverter.Reader<?> findReader(Class<?> clazz)
findReader
in interface org.apache.johnzon.mapper.access.AccessMode
public org.apache.johnzon.mapper.ObjectConverter.Writer<?> findWriter(Class<?> clazz)
findWriter
in interface org.apache.johnzon.mapper.access.AccessMode
public org.apache.johnzon.mapper.Adapter<?,?> findAdapter(Class<?> clazz)
findAdapter
in interface org.apache.johnzon.mapper.access.AccessMode
public Method findAnyGetter(Class<?> clazz)
findAnyGetter
in interface org.apache.johnzon.mapper.access.AccessMode
public Method findAnySetter(Class<?> clazz)
findAnySetter
in interface org.apache.johnzon.mapper.access.AccessMode
public void afterParsed(Class<?> clazz)
afterParsed
in interface org.apache.johnzon.mapper.access.AccessMode
private boolean isReversedAdapter(Class<?> payloadType, Class<?> aClass, org.apache.johnzon.mapper.Adapter<?,?> instance)
private boolean isNillable(javax.json.bind.annotation.JsonbProperty property, javax.json.bind.annotation.JsonbNillable nillable)
private JsonbAccessMode.ParsingCacheEntry getClassEntry(Class<?> clazz)
private boolean isOptional(Type type)
private boolean isOptionalArray(org.apache.johnzon.mapper.access.AccessMode.DecoratedType value)
private boolean isTransient(org.apache.johnzon.mapper.access.AccessMode.DecoratedType dt, javax.json.bind.config.PropertyVisibilityStrategy visibility)
private boolean shouldSkip(javax.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)
private boolean isTransient(org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)
private boolean isNotVisible(javax.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t)
private Comparator<String> orderComparator(Class<?> clazz)
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
private static <T extends Annotation> T getAnnotation(Parameter param, Class<T> api)
private boolean isDateType(Type type)
private boolean isNumberType(Type type)
private boolean hasRawType(Type type)
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.