BeanUtil
Date: 2016-12-04

com.fasterxml.jackson.databind.util

## Class BeanUtil

- java.lang.Object
- - com.fasterxml.jackson.databind.util.BeanUtil

-     public class BeanUtil
      extends java.lang.Object

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

- - ### 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(com.fasterxml.jackson.databind.introspect.AnnotatedMethod)`, need to suppress a cyclic reference to resolve [JACKSON-103]
    `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.
    `static java.lang.String` | `okNameForGetter(AnnotatedMethod am)` Deprecated.
    `static java.lang.String` | `okNameForGetter(AnnotatedMethod am, boolean stdNaming)`
    `static java.lang.String` | `okNameForIsGetter(AnnotatedMethod am, java.lang.String name)` Deprecated.
    `static java.lang.String` | `okNameForIsGetter(AnnotatedMethod am, java.lang.String name, boolean stdNaming)`
    `static java.lang.String` | `okNameForMutator(AnnotatedMethod am, java.lang.String prefix)` Deprecated.
    `static java.lang.String` | `okNameForMutator(AnnotatedMethod am, java.lang.String prefix, boolean stdNaming)`
    `static java.lang.String` | `okNameForRegularGetter(AnnotatedMethod am, java.lang.String name)` Deprecated.
    `static java.lang.String` | `okNameForRegularGetter(AnnotatedMethod am, java.lang.String name, boolean stdNaming)`
    `static java.lang.String` | `okNameForSetter(AnnotatedMethod am)` Deprecated.
    `static java.lang.String` | `okNameForSetter(AnnotatedMethod am, boolean stdNaming)`
    `protected static java.lang.String` | `stdManglePropertyName(java.lang.String basename, int offset)`

    - ### 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 java.lang.String okNameForGetter(AnnotatedMethod am,
                                         boolean stdNaming)

      Since:
        2.5

    - #### okNameForRegularGetter

          public static java.lang.String okNameForRegularGetter(AnnotatedMethod am,
                                                java.lang.String name,
                                                boolean stdNaming)

      Since:
        2.5

    - #### okNameForIsGetter

          public static java.lang.String okNameForIsGetter(AnnotatedMethod am,
                                           java.lang.String name,
                                           boolean stdNaming)

      Since:
        2.5

    - #### okNameForSetter

          public static java.lang.String okNameForSetter(AnnotatedMethod am,
                                         boolean stdNaming)

      Since:
        2.5

    - #### okNameForMutator

          public static java.lang.String okNameForMutator(AnnotatedMethod am,
                                          java.lang.String prefix,
                                          boolean stdNaming)

      Since:
        2.5

    - #### okNameForGetter

          @Deprecated
          public static java.lang.String okNameForGetter(AnnotatedMethod am)

      Deprecated.

    - #### okNameForRegularGetter

          @Deprecated
          public static java.lang.String okNameForRegularGetter(AnnotatedMethod am,
                                                           java.lang.String name)

      Deprecated.

    - #### okNameForIsGetter

          @Deprecated
          public static java.lang.String okNameForIsGetter(AnnotatedMethod am,
                                                      java.lang.String name)

      Deprecated.

    - #### okNameForSetter

          @Deprecated
          public static java.lang.String okNameForSetter(AnnotatedMethod am)

      Deprecated.

    - #### okNameForMutator

          @Deprecated
          public static java.lang.String okNameForMutator(AnnotatedMethod am,
                                                     java.lang.String prefix)

      Deprecated.

    - #### 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[]"

    - #### isGroovyMetaClassSetter

          protected static boolean isGroovyMetaClassSetter(AnnotatedMethod am)

      Similar to `isCglibGetCallbacks(com.fasterxml.jackson.databind.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]

    - #### 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

          protected static java.lang.String stdManglePropertyName(java.lang.String basename,
                                               int offset)

      Since:
        2.5