Conventions (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

org.springframework.core

## Class Conventions

- java.lang.Object
- - org.springframework.core.Conventions

-     public abstract class Conventions
      extends Object

  Provides methods to support various naming and other conventions used throughout the framework. Mainly for internal use within the framework.
  Since:
    2.0
  Author:
    Rob Harrop, Juergen Hoeller

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Conventions()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static String` | `attributeNameToPropertyName(String attributeName)` Convert `String`s in attribute name format (lowercase, hyphens separating words) into property name format (camel-cased).
    `static String` | `getQualifiedAttributeName(Class enclosingClass, String attributeName)` Return an attribute name qualified by the supplied enclosing `Class`.
    `static String` | `getVariableName(Object value)` Determine the conventional variable name for the supplied `Object` based on its concrete type.
    `static String` | `getVariableNameForParameter(MethodParameter parameter)` Determine the conventional variable name for the supplied parameter, taking the generic collection type (if any) into account.
    `static String` | `getVariableNameForReturnType(Method method)` Determine the conventional variable name for the return type of the supplied method, taking the generic collection type (if any) into account.
    `static String` | `getVariableNameForReturnType(Method method, Class resolvedType, Object value)` Determine the conventional variable name for the return type of the supplied method, taking the generic collection type (if any) into account, falling back to the given return value if the method declaration is not specific enough (i.e.
    `static String` | `getVariableNameForReturnType(Method method, Object value)` Determine the conventional variable name for the return type of the supplied method, taking the generic collection type (if any) into account, falling back to the given return value if the method declaration is not specific enough (i.e.

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

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

- - ### Constructor Detail

    - #### Conventions

          public Conventions()

  - ### Method Detail

    - #### getVariableName

          public static String getVariableName(Object value)

      Determine the conventional variable name for the supplied `Object` based on its concrete type. The convention used is to return the uncapitalized short name of the `Class`, according to JavaBeans property naming rules: So, `com.myapp.Product` becomes `product`; `com.myapp.MyProduct` becomes `myProduct`; `com.myapp.UKProduct` becomes `UKProduct`.

      For arrays, we use the pluralized version of the array component type. For `Collection`s we attempt to 'peek ahead' in the `Collection` to determine the component type and return the pluralized version of that component type.

      Parameters:
        `value` - the value to generate a variable name for
      Returns:
        the generated variable name

    - #### getVariableNameForParameter

          public static String getVariableNameForParameter(MethodParameter parameter)

      Determine the conventional variable name for the supplied parameter, taking the generic collection type (if any) into account.
      Parameters:
        `parameter` - the method or constructor parameter to generate a variable name for
      Returns:
        the generated variable name

    - #### getVariableNameForReturnType

          public static String getVariableNameForReturnType(Method method)

      Determine the conventional variable name for the return type of the supplied method, taking the generic collection type (if any) into account.
      Parameters:
        `method` - the method to generate a variable name for
      Returns:
        the generated variable name

    - #### getVariableNameForReturnType

          public static String getVariableNameForReturnType(Method method,
                                            Object value)

      Determine the conventional variable name for the return type of the supplied method, taking the generic collection type (if any) into account, falling back to the given return value if the method declaration is not specific enough (i.e. in case of the return type being declared as `Object` or as untyped collection).
      Parameters:
        `method` - the method to generate a variable name for
        `value` - the return value (may be `null` if not available)
      Returns:
        the generated variable name

    - #### getVariableNameForReturnType

          public static String getVariableNameForReturnType(Method method,
                                            Class resolvedType,
                                            Object value)

      Determine the conventional variable name for the return type of the supplied method, taking the generic collection type (if any) into account, falling back to the given return value if the method declaration is not specific enough (i.e. in case of the return type being declared as `Object` or as untyped collection).
      Parameters:
        `method` - the method to generate a variable name for
        `resolvedType` - the resolved return type of the method
        `value` - the return value (may be `null` if not available)
      Returns:
        the generated variable name

    - #### attributeNameToPropertyName

          public static String attributeNameToPropertyName(String attributeName)

      Convert `String`s in attribute name format (lowercase, hyphens separating words) into property name format (camel-cased). For example, `transaction-manager` is converted into `transactionManager`.

    - #### getQualifiedAttributeName

          public static String getQualifiedAttributeName(Class enclosingClass,
                                         String attributeName)

      Return an attribute name qualified by the supplied enclosing `Class`. For example, the attribute name '`foo`' qualified by `Class` '`com.myapp.SomeClass`' would be '`com.myapp.SomeClass.foo`'