Class ClassDescriptor


  • public class ClassDescriptor
    extends java.lang.Object
    • Field Detail

      • clazz

        public java.lang.Class clazz
      • lookup

        public java.util.Map<java.lang.String,​java.lang.reflect.Type> lookup
      • fields

        public java.util.List<Binding> fields
      • setters

        public java.util.List<Binding> setters
      • getters

        public java.util.List<Binding> getters
      • keyValueTypeWrappers

        public java.util.List<java.lang.reflect.Method> keyValueTypeWrappers
      • asExtraForUnknownProperties

        public boolean asExtraForUnknownProperties
      • onMissingProperties

        public Binding onMissingProperties
      • onExtraProperties

        public Binding onExtraProperties
    • Constructor Detail

      • ClassDescriptor

        private ClassDescriptor()
    • Method Detail

      • getDecodingClassDescriptor

        public static ClassDescriptor getDecodingClassDescriptor​(ClassInfo classInfo,
                                                                 boolean includingPrivate)
      • getEncodingClassDescriptor

        public static ClassDescriptor getEncodingClassDescriptor​(ClassInfo classInfo,
                                                                 boolean includingPrivate)
      • decodingDeduplicate

        private static void decodingDeduplicate​(ClassDescriptor desc)
      • deduplicateByFromName

        private static void deduplicateByFromName​(java.util.Map<java.lang.String,​Binding> byFromName,
                                                  Binding setter)
      • encodingDeduplicate

        private static void encodingDeduplicate​(ClassDescriptor desc)
      • getFields

        private static java.util.List<Binding> getFields​(java.util.Map<java.lang.String,​java.lang.reflect.Type> lookup,
                                                         ClassInfo classInfo,
                                                         boolean includingPrivate)
      • createBindingFromField

        private static Binding createBindingFromField​(java.util.Map<java.lang.String,​java.lang.reflect.Type> lookup,
                                                      ClassInfo classInfo,
                                                      java.lang.reflect.Field field)
      • getAllFields

        private static java.util.List<java.lang.reflect.Field> getAllFields​(java.lang.Class clazz)
      • getSetters

        private static java.util.List<Binding> getSetters​(java.util.Map<java.lang.String,​java.lang.reflect.Type> lookup,
                                                          ClassInfo classInfo,
                                                          boolean includingPrivate)
      • getAllMethods

        private static java.util.List<java.lang.reflect.Method> getAllMethods​(java.lang.Class clazz,
                                                                              boolean includingPrivate)
      • translateSetterName

        private static java.lang.String translateSetterName​(java.lang.String methodName)
      • getGetters

        private static java.util.List<Binding> getGetters​(java.util.Map<java.lang.String,​java.lang.reflect.Type> lookup,
                                                          ClassInfo classInfo,
                                                          boolean includingPrivate)
      • collectTypeVariableLookup

        private static java.util.Map<java.lang.String,​java.lang.reflect.Type> collectTypeVariableLookup​(java.lang.reflect.Type type)
      • allBindings

        public java.util.List<Binding> allBindings()
      • allDecoderBindings

        public java.util.List<Binding> allDecoderBindings()
      • allEncoderBindings

        public java.util.List<Binding> allEncoderBindings()
      • encodeTos

        public java.util.List<EncodeTo> encodeTos()
      • collectEncodeTo

        private void collectEncodeTo​(java.util.ArrayList<EncodeTo> encodeTos,
                                     java.util.List<Binding> fields,
                                     java.util.HashMap<java.lang.String,​java.lang.Integer> previousAppearance)