public final class NameUtils
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
MICRONAUT |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
getClassName(java.lang.String logicalName)
Return the class name for the given logical name.
|
static java.lang.String |
getClassName(java.lang.String logicalName,
java.lang.String trailingName)
Returns the class name for the given logical name and trailing name.
|
static java.lang.String |
getClassNameRepresentation(java.lang.String name)
Returns the class name representation of the given name.
|
static java.lang.String |
getFullClassName(java.lang.Class cls)
Returns the class name, including package, for the given class.
|
static java.lang.String |
getFullClassName(java.lang.String className)
Returns the class name, including package, for the given class.
|
static java.lang.String |
getGetterName(java.lang.String propertyName)
Calculate the name for a getter method to retrieve the specified property.
|
static java.lang.String |
getLogicalName(java.lang.Class<?> clazz,
java.lang.String trailingName)
Retrieves the logical class name of a Micronaut artifact given the Micronaut class
and a specified trailing name.
|
static java.lang.String |
getLogicalName(java.lang.String name,
java.lang.String trailingName)
Retrieves the logical name of the class without the trailing name.
|
static java.lang.String |
getLogicalPropertyName(java.lang.String className,
java.lang.String trailingName) |
static java.lang.String |
getNameFromScript(java.lang.String scriptName)
Calculates the class name from a script name in the form my-funk-grails-script.
|
static java.lang.String |
getNaturalName(java.lang.String name)
Converts a property name into its natural language equivalent eg ('firstName' becomes 'First Name').
|
static java.lang.String |
getNaturalNameOfEnum(java.lang.String name)
Converts an enum style name into its natural language equivalent eg ('FIRST_NAME' becomes 'First Name').
|
static java.lang.String |
getPackageName(java.lang.String className)
Returns the package name without the class.
|
static java.lang.String |
getPluginName(java.lang.String descriptorName)
Returns the name of a plugin given the name of the *GrailsPlugin.groovy
descriptor file.
|
static java.lang.String |
getPropertyForGetter(java.lang.String getterName)
Returns a property name equivalent for the given getter name or null if it is not a valid getter.
|
static java.lang.String |
getPropertyForGetter(java.lang.String getterName,
java.lang.Class returnType)
Returns a property name equivalent for the given getter name and return type or null if it is not a valid getter.
|
static java.lang.String |
getPropertyForSetter(java.lang.String setterName)
Returns a property name equivalent for the given setter name or null if it is not a valid setter.
|
static java.lang.String |
getPropertyName(java.lang.Class<?> clazz)
Shorter version of getPropertyNameRepresentation.
|
static java.lang.String |
getPropertyName(java.lang.String name)
Shorter version of getPropertyNameRepresentation.
|
static java.lang.String |
getPropertyNameConvention(java.lang.Object object,
java.lang.String suffix)
Returns an appropriate property name for the given object.
|
static java.lang.String |
getPropertyNameForLowerCaseHyphenSeparatedName(java.lang.String name)
Converts foo-bar into fooBar.
|
static java.lang.String |
getPropertyNameRepresentation(java.lang.Class<?> targetClass)
Returns the property name equivalent for the specified class.
|
static java.lang.String |
getPropertyNameRepresentation(java.lang.String name)
Returns the property name representation of the given name.
|
static java.lang.String |
getScriptName(java.lang.Class<?> clazz)
Retrieves the script name representation of the supplied class.
|
static java.lang.String |
getScriptName(java.lang.String name)
Retrieves the script name representation of the given class name.
|
static java.lang.String |
getSetterName(java.lang.String propertyName)
Retrieves the name of a setter for the specified property name.
|
static java.lang.String |
getShortName(java.lang.Class<?> targetClass)
Returns the class name without the package prefix.
|
static java.lang.String |
getShortName(java.lang.String className)
Returns the class name without the package prefix.
|
static boolean |
isBlank(java.lang.String str)
Determines whether a given string is
null , empty,
or only contains whitespace. |
static boolean |
isGetter(java.lang.String name,
java.lang.Class<?>[] args)
Deprecated.
use
isGetter(String, Class, Class[]) instead because this method has a defect for "is.." method with Boolean return types. |
static boolean |
isGetter(java.lang.String name,
java.lang.Class returnType,
java.lang.Class<?>[] args)
Returns true if the name of the method specified and the number of arguments make it a javabean property getter.
|
protected static boolean |
isPropertyMethodSuffix(java.lang.String suffix)
This method is used when interrogating a method name to determine if the
method represents a property getter.
|
static boolean |
isValidAppName(java.lang.String appName)
verifies the app is not blank, null or matches micronaut
|
static boolean |
isValidJavaIdentifier(java.lang.String name)
Test whether the given name is a valid Java identifier.
|
static boolean |
isValidJavaPackage(java.lang.String packageName)
Test whether the give package name is a valid Java package.
|
static boolean |
isValidServiceId(java.lang.String name)
Checks whether the given name is a valid service identifier.
|
static Project |
parse(java.lang.String name) |
static ProjectIdentifier |
parseProjectIdentifier(java.lang.String name) |
public static final java.lang.String MICRONAUT
public static ProjectIdentifier parseProjectIdentifier(java.lang.String name) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static boolean isValidAppName(java.lang.String appName)
appName
- Application's namepublic static Project parse(java.lang.String name) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public static boolean isValidServiceId(java.lang.String name)
name
- The namepublic static java.lang.String getSetterName(java.lang.String propertyName)
propertyName
- The property namepublic static java.lang.String getGetterName(java.lang.String propertyName)
propertyName
- The property namepublic static java.lang.String getClassName(java.lang.String logicalName, java.lang.String trailingName)
logicalName
- The logical nametrailingName
- The trailing namepublic static java.lang.String getFullClassName(java.lang.Class cls)
cls
- The class namepublic static java.lang.String getFullClassName(java.lang.String className)
className
- The class namepublic static java.lang.String getClassName(java.lang.String logicalName)
logicalName
- The logical namepublic static java.lang.String getClassNameRepresentation(java.lang.String name)
name
- The name to convertpublic static java.lang.String getLogicalName(java.lang.Class<?> clazz, java.lang.String trailingName)
clazz
- The classtrailingName
- The trailing name such as "Controller" or "Service"public static java.lang.String getLogicalName(java.lang.String name, java.lang.String trailingName)
name
- The name of the classtrailingName
- The trailing namepublic static java.lang.String getLogicalPropertyName(java.lang.String className, java.lang.String trailingName)
className
- The class nametrailingName
- The trailing namepublic static java.lang.String getPropertyName(java.lang.String name)
name
- The name to convertpublic static java.lang.String getPropertyName(java.lang.Class<?> clazz)
clazz
- The clazz to convertpublic static java.lang.String getPropertyNameRepresentation(java.lang.Class<?> targetClass)
targetClass
- The class to get the property name forpublic static java.lang.String getPropertyNameRepresentation(java.lang.String name)
name
- The name to convertpublic static java.lang.String getPropertyNameForLowerCaseHyphenSeparatedName(java.lang.String name)
name
- The lower case hyphen separated namepublic static java.lang.String getShortName(java.lang.Class<?> targetClass)
targetClass
- The class to get a short name forpublic static java.lang.String getShortName(java.lang.String className)
className
- The class name from which to get a short namepublic static java.lang.String getPackageName(java.lang.String className)
className
- The class name from which to get a package namepublic static java.lang.String getScriptName(java.lang.Class<?> clazz)
clazz
- The class to convertpublic static java.lang.String getScriptName(java.lang.String name)
name
- The class name to convert.public static java.lang.String getNameFromScript(java.lang.String scriptName)
scriptName
- The script namepublic static java.lang.String getPluginName(java.lang.String descriptorName)
descriptorName
- The simple name of the plugin descriptor.null
if descriptorName is null
, or an empty string
if descriptorName is an empty string.java.lang.IllegalArgumentException
- if the given descriptor name is
not valid, i.e. if it doesn't end with "GrailsPlugin.groovy".public static java.lang.String getNaturalName(java.lang.String name)
name
- The property name to convertpublic static java.lang.String getNaturalNameOfEnum(java.lang.String name)
name
- The string to convertpublic static boolean isBlank(java.lang.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 NameUtils to have a dependency on any external library to minimise the number of dependencies required to bootstrap Micronaut.
str
- The string to test.true
if the string is null
, or
blank.public static boolean isValidJavaPackage(java.lang.String packageName)
packageName
- The name of the packagepublic static boolean isValidJavaIdentifier(java.lang.String name)
name
- The namepublic static java.lang.String getPropertyNameConvention(java.lang.Object object, java.lang.String suffix)
object
- The objectsuffix
- The suffix to append to the name.public static java.lang.String getPropertyForGetter(java.lang.String getterName)
getterName
- The getter namepublic static java.lang.String getPropertyForGetter(java.lang.String getterName, java.lang.Class returnType)
getterName
- The getter namereturnType
- The type the method returnspublic static boolean isGetter(java.lang.String name, java.lang.Class<?>[] args)
isGetter(String, Class, Class[])
instead because this method has a defect for "is.." method with Boolean return types.name
- The name of the methodargs
- The argumentspublic static boolean isGetter(java.lang.String name, java.lang.Class returnType, java.lang.Class<?>[] args)
name
- The name of the methodreturnType
- The return type of the methodargs
- The argumentsprotected static boolean isPropertyMethodSuffix(java.lang.String suffix)
getSomeProperty
, the value "SomeProperty"
could
be passed to this method to determine that the method should be considered
a property getter. Examples of suffixes that would be considered property
getters:
Examples of suffixes that would not be considered property getters:
A suffix like prop
from a method getprop()
is
not recognized as a valid suffix. However Groovy will recognize such a
method as a property getter but only if a method getProp()
or
a property prop
does not also exist. The Java Beans
specification is unclear on how to treat such method names, it only says
that "by default" the suffix will start with a capital letter because of
the camel case style usually used. (See the JavaBeans API specification
sections 8.3 and 8.8.)
This method assumes that all characters in the name are valid Java identifier letters.
suffix
- The suffix to inspectpublic static java.lang.String getPropertyForSetter(java.lang.String setterName)
setterName
- The setter name, must be null or empty or a valid identifier name