org.springframework.core

Class Conventions

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


  • public final class Conventions
    extends java.lang.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, Rossen Stoyanchev
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static java.lang.String attributeNameToPropertyName(java.lang.String attributeName)
      Convert Strings in attribute name format (e.g.
      static java.lang.String getQualifiedAttributeName(java.lang.Class<?> enclosingClass, java.lang.String attributeName)
      Return an attribute name qualified by the given enclosing Class.
      static java.lang.String getVariableName(java.lang.Object value)
      Determine the conventional variable name for the supplied Object based on its concrete type.
      static java.lang.String getVariableNameForParameter(MethodParameter parameter)
      Determine the conventional variable name for the given parameter taking the generic collection type, if any, into account.
      static java.lang.String getVariableNameForReturnType(java.lang.reflect.Method method)
      Determine the conventional variable name for the return type of the given method, taking the generic collection type, if any, into account.
      static java.lang.String getVariableNameForReturnType(java.lang.reflect.Method method, java.lang.Class<?> resolvedType, java.lang.Object value)
      Determine the conventional variable name for the return type of the given method, taking the generic collection type, if any, into account, falling back on the given return value if the method declaration is not specific enough, e.g.
      static java.lang.String getVariableNameForReturnType(java.lang.reflect.Method method, java.lang.Object value)
      Determine the conventional variable name for the return type of the given method, taking the generic collection type, if any, into account, falling back on the given actual return value if the method declaration is not specific enough, e.g.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getVariableName

        public static java.lang.String getVariableName(java.lang.Object value)
        Determine the conventional variable name for the supplied Object based on its concrete type. The convention used is to return the un-capitalized short name of the Class, according to JavaBeans property naming rules.

        For example:
        com.myapp.Product becomes "product"
        com.myapp.MyProduct becomes "myProduct"
        com.myapp.UKProduct becomes "UKProduct"

        For arrays the pluralized version of the array component type is used. For Collections an attempt is made to 'peek ahead' to determine the component type and return its pluralized version.

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

        public static java.lang.String getVariableNameForParameter(MethodParameter parameter)
        Determine the conventional variable name for the given parameter taking the generic collection type, if any, into account.

        As of 5.0 this method supports reactive types:
        Mono<com.myapp.Product> becomes "productMono"
        Flux<com.myapp.MyProduct> becomes "myProductFlux"
        Observable<com.myapp.MyProduct> becomes "myProductObservable"

        Parameters:
        parameter - the method or constructor parameter
        Returns:
        the generated variable name
      • getVariableNameForReturnType

        public static java.lang.String getVariableNameForReturnType(java.lang.reflect.Method method)
        Determine the conventional variable name for the return type of the given 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 java.lang.String getVariableNameForReturnType(java.lang.reflect.Method method,
                                                                    @Nullable
                                                                    java.lang.Object value)
        Determine the conventional variable name for the return type of the given method, taking the generic collection type, if any, into account, falling back on the given actual return value if the method declaration is not specific enough, e.g. Object return type or 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 java.lang.String getVariableNameForReturnType(java.lang.reflect.Method method,
                                                                    java.lang.Class<?> resolvedType,
                                                                    @Nullable
                                                                    java.lang.Object value)
        Determine the conventional variable name for the return type of the given method, taking the generic collection type, if any, into account, falling back on the given return value if the method declaration is not specific enough, e.g. Object return type or untyped collection.

        As of 5.0 this method supports reactive types:
        Mono<com.myapp.Product> becomes "productMono"
        Flux<com.myapp.MyProduct> becomes "myProductFlux"
        Observable<com.myapp.MyProduct> becomes "myProductObservable"

        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 java.lang.String attributeNameToPropertyName(java.lang.String attributeName)
        Convert Strings in attribute name format (e.g. lowercase, hyphens separating words) into property name format (camel-case). For example transaction-manager becomes "transactionManager".
      • getQualifiedAttributeName

        public static java.lang.String getQualifiedAttributeName(java.lang.Class<?> enclosingClass,
                                                                 java.lang.String attributeName)
        Return an attribute name qualified by the given enclosing Class. For example the attribute name 'foo' qualified by Class 'com.myapp.SomeClass' would be 'com.myapp.SomeClass.foo'