Class 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<?>>
    • 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
      void afterParsed​(java.lang.Class<?> clazz)  
      void clean​(java.lang.Class<?> value)  
      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)  
      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>
      T
      getAnnotation​(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<?> getRawTargetType​(java.lang.reflect.Type type)  
      private boolean hasRawType​(java.lang.reflect.Type type)  
      private boolean isDateType​(java.lang.reflect.Type type)  
      private boolean isNillable​(jakarta.json.bind.annotation.JsonbProperty property, jakarta.json.bind.annotation.JsonbNillable propertyNillable, jakarta.json.bind.annotation.JsonbNillable classOrPackageNillable)  
      private boolean isNotVisible​(jakarta.json.bind.config.PropertyVisibilityStrategy visibility, org.apache.johnzon.mapper.access.AccessMode.DecoratedType t, java.lang.Class<?> root, boolean read)  
      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, jakarta.json.bind.config.PropertyVisibilityStrategy visibility, java.lang.Class<?> root, boolean read)  
      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​(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.Object tryToCreateInstance​(java.lang.Class<?> declaringClass)  
      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)  
      private void validateAnnotationsOnTransientField​(org.apache.johnzon.mapper.access.AccessMode.DecoratedType type)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.apache.johnzon.mapper.access.AccessMode

        findFactory, findMapAdder
    • 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
      • 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
      • 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:
        fieldComparator in interface org.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 interface org.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)
      • findReaders

        public java.util.Map<java.lang.String,​org.apache.johnzon.mapper.access.AccessMode.Reader> findReaders​(java.lang.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 java.util.Map<java.lang.String,​org.apache.johnzon.mapper.access.AccessMode.Writer> findWriters​(java.lang.Class<?> clazz)
        Specified by:
        findWriters in interface org.apache.johnzon.mapper.access.AccessMode
      • findReader

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

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

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

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

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

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

        public void afterParsed​(java.lang.Class<?> clazz)
        Specified by:
        afterParsed in interface org.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)
      • 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:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.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:
        clean in interface org.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)