com.fasterxml.jackson.databind.util

## Class BeanUtil

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

-     public class BeanUtil
      extends Object

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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BeanUtil()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static 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`.
    `protected static boolean` | `isCglibGetCallbacks(AnnotatedMethod am)` This method was added to address the need to weed out CGLib-injected "getCallbacks" method.
    `protected static boolean` | `isGroovyMetaClassGetter(AnnotatedMethod am)` Another helper method to deal with Groovy's problematic metadata accessors
    `protected static boolean` | `isGroovyMetaClassSetter(AnnotatedMethod am)` Similar to `isCglibGetCallbacks(com.fasterxml.jackson.databind.introspect.AnnotatedMethod)`, need to suppress a cyclic reference.
    `protected static String` | `legacyManglePropertyName(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 String` | `okNameForGetter(AnnotatedMethod am, boolean stdNaming)`
    `static String` | `okNameForIsGetter(AnnotatedMethod am, String name, boolean stdNaming)`
    `static String` | `okNameForMutator(AnnotatedMethod am, String prefix, boolean stdNaming)`
    `static String` | `okNameForRegularGetter(AnnotatedMethod am, String name, boolean stdNaming)`
    `static String` | `okNameForSetter(AnnotatedMethod am, boolean stdNaming)` Deprecated.
    `static String` | `stdManglePropertyName(String basename, int offset)` Note: public only since 2.11

    - ### 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,
                                               boolean stdNaming)

      Since:
        2.5

    - #### okNameForRegularGetter

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

      Since:
        2.5

    - #### okNameForIsGetter

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

      Since:
        2.5

    - #### okNameForSetter

          @Deprecated
          public static String okNameForSetter(AnnotatedMethod am,
                                                           boolean stdNaming)

      Deprecated.
      Since:
        2.5

    - #### okNameForMutator

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

      Since:
        2.5

    - #### getDefaultValue

          public static 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[]"

    - #### isGroovyMetaClassSetter

          protected static boolean isGroovyMetaClassSetter(AnnotatedMethod am)

      Similar to `isCglibGetCallbacks(com.fasterxml.jackson.databind.introspect.AnnotatedMethod)`, need to suppress a cyclic reference.

    - #### isGroovyMetaClassGetter

          protected static boolean isGroovyMetaClassGetter(AnnotatedMethod am)

      Another helper method to deal with Groovy's problematic metadata accessors

    - #### legacyManglePropertyName

          protected static String legacyManglePropertyName(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 String stdManglePropertyName(String basename,
                                                     int offset)

      Note: public only since 2.11
      Since:
        2.5

Copyright © 2008–2020 FasterXML. All rights reserved.