BeanUtil (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.map.util

## Class BeanUtil

- java.lang.Object
- - org.codehaus.jackson.map.util.BeanUtil

-     public class BeanUtil
      extends Object

  Helper class that contains functionality needed by both serialization and deserialization side.
  Since:
    1.9

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BeanUtil()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static boolean` | `isCglibGetCallbacks(AnnotatedMethod am)` This method was added to address [JACKSON-53]: need to weed out CGLib-injected "getCallbacks".
    `protected static boolean` | `isGroovyMetaClassGetter(AnnotatedMethod am)` Another helper method to deal with rest of [JACKSON-103]
    `protected static boolean` | `isGroovyMetaClassSetter(AnnotatedMethod am)` Similar to `isCglibGetCallbacks(org.codehaus.jackson.map.introspect.AnnotatedMethod)`, need to suppress a cyclic reference to resolve [JACKSON-103]
    `protected static String` | `manglePropertyName(String basename)` Method called to figure out name of the property, given corresponding suggested name based on a method or field name.
    `static String` | `okNameForGetter(AnnotatedMethod am)`
    `static String` | `okNameForIsGetter(AnnotatedMethod am, String name)`
    `static String` | `okNameForRegularGetter(AnnotatedMethod am, String name)`
    `static String` | `okNameForSetter(AnnotatedMethod am)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BeanUtil

          public BeanUtil()

  - ### Method Detail

    - #### okNameForGetter

          public static String okNameForGetter(AnnotatedMethod am)

    - #### okNameForRegularGetter

          public static String okNameForRegularGetter(AnnotatedMethod am,
                                      String name)

    - #### okNameForIsGetter

          public static String okNameForIsGetter(AnnotatedMethod am,
                                 String name)

    - #### okNameForSetter

          public static String okNameForSetter(AnnotatedMethod am)

    - #### isCglibGetCallbacks

          protected static boolean isCglibGetCallbacks(AnnotatedMethod am)

      This method was added to address [JACKSON-53]: need to weed out CGLib-injected "getCallbacks". 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[]"

      Also, see [JACKSON-177]; Hibernate may repackage cglib it uses, so we better catch that too

    - #### isGroovyMetaClassSetter

          protected static boolean isGroovyMetaClassSetter(AnnotatedMethod am)

      Similar to `isCglibGetCallbacks(org.codehaus.jackson.map.introspect.AnnotatedMethod)`, need to suppress a cyclic reference to resolve [JACKSON-103]

    - #### isGroovyMetaClassGetter

          protected static boolean isGroovyMetaClassGetter(AnnotatedMethod am)

      Another helper method to deal with rest of [JACKSON-103]

    - #### manglePropertyName

          protected static String manglePropertyName(String basename)

      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")