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<?>>
  • Field Details

    • 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 Details

    • 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 Details

    • fieldComparator

      public Comparator<String> fieldComparator(Class<?> clazz)
      Specified by:
      fieldComparator in interface org.apache.johnzon.mapper.access.AccessMode
    • findFactory

      public org.apache.johnzon.mapper.access.AccessMode.Factory findFactory(Class<?> clazz, Function<AnnotatedElement,String>... parameterNameExtractors)
      Specified by:
      findFactory in interface org.apache.johnzon.mapper.access.AccessMode
    • findRecordConstructor

      private Optional<Constructor<?>> findRecordConstructor(Class<?> clazz)
    • getJsonbProperty

      private String getJsonbProperty(AnnotatedElement a)
    • findPotentialFactoryMethods

      private Stream<Method> findPotentialFactoryMethods(Class<?> clazz)
    • 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)
    • tryToCreateInstance

      private Object tryToCreateInstance(Class<?> declaringClass)
    • 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:
      findReaders in interface org.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:
      findWriters in interface org.apache.johnzon.mapper.access.AccessMode
    • findReader

      public org.apache.johnzon.mapper.ObjectConverter.Reader<?> findReader(Class<?> clazz)
      Specified by:
      findReader in interface org.apache.johnzon.mapper.access.AccessMode
    • findWriter

      public org.apache.johnzon.mapper.ObjectConverter.Writer<?> findWriter(Class<?> clazz)
      Specified by:
      findWriter in interface org.apache.johnzon.mapper.access.AccessMode
    • findAdapter

      public org.apache.johnzon.mapper.Adapter<?,?> findAdapter(Class<?> clazz)
      Specified by:
      findAdapter in interface org.apache.johnzon.mapper.access.AccessMode
    • findAnyGetter

      public Method findAnyGetter(Class<?> clazz)
      Specified by:
      findAnyGetter in interface org.apache.johnzon.mapper.access.AccessMode
    • findAnySetter

      public Method findAnySetter(Class<?> clazz)
      Specified by:
      findAnySetter in interface org.apache.johnzon.mapper.access.AccessMode
    • findAnyField

      public Field findAnyField(Class<?> clazz)
      Specified by:
      findAnyField in interface org.apache.johnzon.mapper.access.AccessMode
    • afterParsed

      public void afterParsed(Class<?> clazz)
      Specified by:
      afterParsed in interface org.apache.johnzon.mapper.access.AccessMode
    • isReversedAdapter

      private boolean isReversedAdapter(Class<?> payloadType, Class<?> aClass, org.apache.johnzon.mapper.Adapter<?,?> instance)
    • toClass

      private Class<?> toClass(Type type)
    • 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)
    • findOptionalType

      private Type findOptionalType(Type writerType)
    • 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:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • getAnnotation

      private static <T extends Annotation> T getAnnotation(Parameter param, Class<T> api)
    • clean

      public void clean(Class<?> value)
      Specified by:
      clean in interface org.apache.johnzon.mapper.Cleanable<Class<?>>
    • isDateType

      private boolean isDateType(Type type)
    • isNumberType

      private boolean isNumberType(Type type)
    • hasRawType

      private boolean hasRawType(Type type)
    • getRawTargetType

      private Class<?> getRawTargetType(Type type)