Package: org.apache.groovy.util

## [Java] Class BeanUtils

- org.apache.groovy.util.BeanUtils

-     public class BeanUtils
      extends Object

  Utility methods for working with JavaBean-style property names.

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public static String` | `capitalize(String property)` This is the complement the behavior of the decapitalize(String) method.
    `` | `public static String` | `decapitalize(String property)` Returns a string which is the same as the original except the first letter will be lowercase except for some special cases as per JavaBean handling.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### public static String capitalize(String property)

      This is the complement the behavior of the decapitalize(String) method. We handle names that begin with an initial lowerCase followed by upperCase with special JavaBean behavior (which is to make no change). See GROOVY-3211.

      Parameters:
        `property` - the property name to capitalize
      Returns:
        the name capitalized, except when we don't
      Since:
        3.0.0

    - #### public static String decapitalize(String property)

      Returns a string which is the same as the original except the first letter will be lowercase except for some special cases as per JavaBean handling. In particular, if the first two letters are both uppercase, e.g. URL, then no change of case occurs.

      Originally inspired by the method with the same name in Introspector.

      Parameters:
        `property` - a string representing the name of a JavaBean-like property
      Returns:
        the decapitalized string
      Since:
        3.0.0
      See Also:
        A relevant stack overflow question