org.springframework.core
Class Conventions

java.lang.Object
  extended by 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
Conventions()
           
 
Method Summary
static String attributeNameToPropertyName(String attributeName)
          Convert Strings 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 Collections 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 Strings 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'