Class BeanUtil


  • public class BeanUtil
    extends java.lang.Object
    Helper class that contains functionality needed by both serialization and deserialization side.
    • Constructor Detail

      • BeanUtil

        public BeanUtil()
    • Method Detail

      • okNameForGetter

        @Deprecated
        public static java.lang.String okNameForGetter​(AnnotatedMethod am,
                                                       boolean stdNaming)
        Deprecated.
        Since 2.12 replaced with AccessorNamingStrategy
        Since:
        2.5
      • okNameForRegularGetter

        @Deprecated
        public static java.lang.String okNameForRegularGetter​(AnnotatedMethod am,
                                                              java.lang.String name,
                                                              boolean stdNaming)
        Deprecated.
        Since 2.12 replaced with AccessorNamingStrategy
        Since:
        2.5
      • okNameForIsGetter

        @Deprecated
        public static java.lang.String okNameForIsGetter​(AnnotatedMethod am,
                                                         java.lang.String name,
                                                         boolean stdNaming)
        Deprecated.
        Since 2.12 replaced with AccessorNamingStrategy
        Since:
        2.5
      • okNameForSetter

        @Deprecated
        public static java.lang.String okNameForSetter​(AnnotatedMethod am,
                                                       boolean stdNaming)
        Deprecated.
      • okNameForMutator

        @Deprecated
        public static java.lang.String okNameForMutator​(AnnotatedMethod am,
                                                        java.lang.String prefix,
                                                        boolean stdNaming)
        Deprecated.
        Since 2.12 replaced with AccessorNamingStrategy
        Since:
        2.5
      • getDefaultValue

        public static java.lang.Object getDefaultValue​(JavaType type)
        Accessor used to find out "default value" to use for comparing values to serialize, to determine whether to exclude value from serialization with inclusion type of JsonInclude.Include.NON_DEFAULT.

        Default logic is such that for primitives and wrapper types for primitives, expected defaults (0 for `int` and `java.lang.Integer`) are returned; for Strings, empty String, and for structured (Maps, Collections, arrays) and reference types, criteria JsonInclude.Include.NON_DEFAULT is used.

        Since:
        2.7
      • isCglibGetCallbacks

        protected static boolean isCglibGetCallbacks​(AnnotatedMethod am)
        This method was added to address the need to weed out CGLib-injected "getCallbacks" method. At this point caller has detected a potential getter method with name "getCallbacks" and we need to determine if it is indeed injectect by Cglib. We do this by verifying that the result type is "net.sf.cglib.proxy.Callback[]"
      • isGroovyMetaClassGetter

        protected static boolean isGroovyMetaClassGetter​(AnnotatedMethod am)
        Another helper method to deal with Groovy's problematic metadata accessors
      • legacyManglePropertyName

        protected static java.lang.String legacyManglePropertyName​(java.lang.String basename,
                                                                   int offset)
        Method called to figure out name of the property, given corresponding suggested name based on a method or field name.
        Parameters:
        basename - Name of accessor/mutator method, not including prefix ("get"/"is"/"set")
      • stdManglePropertyName

        public static java.lang.String stdManglePropertyName​(java.lang.String basename,
                                                             int offset)
        Note: public only since 2.11
        Since:
        2.5
      • checkUnsupportedType

        public static java.lang.String checkUnsupportedType​(JavaType type)
        Helper method called by BeanDeserializerFactory and BeanSerializerFactory to check if given unrecognized type (to be (de)serialized as general POJO) is one of "well-known" types for which there would be a datatype module; and if so, return appropriate failure message to give to caller.
        Since:
        2.12
      • isJava8TimeClass

        public static boolean isJava8TimeClass​(java.lang.Class<?> rawType)
        Since:
        2.12
      • isJodaTimeClass

        public static boolean isJodaTimeClass​(java.lang.Class<?> rawType)
        Since:
        2.12