grails.util
Class GrailsNameUtils

java.lang.Object
  extended by grails.util.GrailsNameUtils

public class GrailsNameUtils
extends Object

Contains utility methods for converting between different name types, for example from class names -> property names and vice-versa. The key aspect of this class is that it has no dependencies outside the JDK!


Constructor Summary
GrailsNameUtils()
           
 
Method Summary
static String getClassName(String logicalName, String trailingName)
          Returns the class name for the given logical name and trailing name.
static String getClassNameRepresentation(String name)
          Returns the class name representation of the given name
static String getGetterName(String propertyName)
          Calculate the name for a getter method to retrieve the specified property
static String getLogicalName(Class clazz, String trailingName)
          Retrieves the logical class name of a Grails artifact given the Grails class and a specified trailing name
static String getLogicalName(String name, String trailingName)
          Retrieves the logical name of the class without the trailing name
static String getLogicalPropertyName(String className, String trailingName)
           
static String getNameFromScript(String scriptName)
          Calculates the class name from a script name in the form my-funk-grails-script
static String getNaturalName(String name)
          Converts a property name into its natural language equivalent eg ('firstName' becomes 'First Name')
static String getPluginName(String descriptorName)
          Returns the name of a plugin given the name of the *GrailsPlugin.groovy descriptor file.
static String getPropertyName(Class clazz)
          Shorter version of getPropertyNameRepresentation
static String getPropertyName(String name)
          Shorter version of getPropertyNameRepresentation
static String getPropertyNameForLowerCaseHyphenSeparatedName(String name)
          Converts foo-bar into fooBar
static String getPropertyNameRepresentation(Class targetClass)
          Returns the property name equivalent for the specified class
static String getPropertyNameRepresentation(String name)
          Returns the property name representation of the given name
static String getScriptName(Class clazz)
          Retrieves the script name representation of the supplied class.
static String getScriptName(String name)
          Retrieves the script name representation of the given class name.
static String getSetterName(String propertyName)
          Retrieves the name of a setter for the specified property name
static String getShortName(Class targetClass)
          Returns the class name without the package prefix
static String getShortName(String className)
          Returns the class name without the package prefix
static boolean isBlank(String str)
          Determines whether a given string is null, empty, or only contains whitespace.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GrailsNameUtils

public GrailsNameUtils()
Method Detail

getSetterName

public static String getSetterName(String propertyName)
Retrieves the name of a setter for the specified property name

Parameters:
propertyName - The property name
Returns:
The setter equivalent

getGetterName

public static String getGetterName(String propertyName)
Calculate the name for a getter method to retrieve the specified property

Parameters:
propertyName -
Returns:
The name for the getter method for this property, if it were to exist, i.e. getConstraints

getClassName

public static String getClassName(String logicalName,
                                  String trailingName)
Returns the class name for the given logical name and trailing name. For example "person" and "Controller" would evaluate to "PersonController"

Parameters:
logicalName - The logical name
trailingName - The trailing name
Returns:
The class name

getClassNameRepresentation

public static String getClassNameRepresentation(String name)
Returns the class name representation of the given name

Parameters:
name - The name to convert
Returns:
The property name representation

getLogicalName

public static String getLogicalName(Class clazz,
                                    String trailingName)
Retrieves the logical class name of a Grails artifact given the Grails class and a specified trailing name

Parameters:
clazz - The class
trailingName - The trailing name such as "Controller" or "TagLib"
Returns:
The logical class name

getLogicalName

public static String getLogicalName(String name,
                                    String trailingName)
Retrieves the logical name of the class without the trailing name

Parameters:
name - The name of the class
trailingName - The trailing name
Returns:
The logical name

getLogicalPropertyName

public static String getLogicalPropertyName(String className,
                                            String trailingName)

getPropertyName

public static String getPropertyName(String name)
Shorter version of getPropertyNameRepresentation

Parameters:
name - The name to convert
Returns:
The property name version

getPropertyName

public static String getPropertyName(Class clazz)
Shorter version of getPropertyNameRepresentation

Parameters:
clazz - The clazz to convert
Returns:
The property name version

getPropertyNameRepresentation

public static String getPropertyNameRepresentation(Class targetClass)
Returns the property name equivalent for the specified class

Parameters:
targetClass - The class to get the property name for
Returns:
A property name reperesentation of the class name (eg. MyClass becomes myClass)

getPropertyNameRepresentation

public static String getPropertyNameRepresentation(String name)
Returns the property name representation of the given name

Parameters:
name - The name to convert
Returns:
The property name representation

getPropertyNameForLowerCaseHyphenSeparatedName

public static String getPropertyNameForLowerCaseHyphenSeparatedName(String name)
Converts foo-bar into fooBar

Parameters:
name - The lower case hyphen separated name
Returns:
The property name equivalent

getShortName

public static String getShortName(Class targetClass)
Returns the class name without the package prefix

Parameters:
targetClass - The class to get a short name for
Returns:
The short name of the class

getShortName

public static String getShortName(String className)
Returns the class name without the package prefix

Parameters:
className - The class name to get a short name for
Returns:
The short name of the class

getScriptName

public static String getScriptName(Class clazz)
Retrieves the script name representation of the supplied class. For example MyFunkyGrailsScript would be my-funky-grails-script

Parameters:
clazz - The class to convert
Returns:
The script name representation

getScriptName

public static String getScriptName(String name)
Retrieves the script name representation of the given class name. For example MyFunkyGrailsScript would be my-funky-grails-script.

Parameters:
name - The class name to convert.
Returns:
The script name representation.

getNameFromScript

public static String getNameFromScript(String scriptName)
Calculates the class name from a script name in the form my-funk-grails-script

Parameters:
scriptName - The script name
Returns:
A class name

getPluginName

public static String getPluginName(String descriptorName)
Returns the name of a plugin given the name of the *GrailsPlugin.groovy descriptor file. For example, "DbUtilsGrailsPlugin.groovy" gives "db-utils".

Parameters:
descriptorName - The simple name of the plugin descriptor.
Returns:
The plugin name for the descriptor, or null if descriptorName is null, or an empty string if descriptorName is an empty string.
Throws:
IllegalArgumentException - if the given descriptor name is not valid, i.e. if it doesn't end with "GrailsPlugin.groovy".

getNaturalName

public static String getNaturalName(String name)
Converts a property name into its natural language equivalent eg ('firstName' becomes 'First Name')

Parameters:
name - The property name to convert
Returns:
The converted property name

isBlank

public static boolean isBlank(String str)

Determines whether a given string is null, empty, or only contains whitespace. If it contains anything other than whitespace then the string is not considered to be blank and the method returns false.

We could use Commons Lang for this, but we don't want GrailsNameUtils to have a dependency on any external library to minimise the number of dependencies required to bootstrap Grails.

Parameters:
str - The string to test.
Returns:
true if the string is null, or blank.


Copyright (c) 2005-2009 The Grails project