Package io.micronaut.core.naming
Class NameUtils
java.lang.Object
io.micronaut.core.naming.NameUtils
Naming convention utilities.
- Since:
- 1.0
- Author:
- Graeme Rocher
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionThe camel case version of the string with the first letter in lower case.The camel case version of the string with the first letter in lower case.capitalize
(@NonNull String name) Converts a property name to class name according to the JavaBean convention.decapitalize
(@Nullable String name) Decapitalizes a given string according to the rule: If the first or only character is Upper Case, it is made Lower Case UNLESS the second character is also Upper Case, when the String is returned unchanged.decapitalizeWithoutSuffix
(@NonNull String name, String... suffixes) Converts class name to property name using JavaBean decapitalization.dehyphenate
(@NonNull String name) Converts hyphenated, lower-case form to camel-case form.environmentName
(@NonNull String camelCase) Returns the underscore separated version of the given camel case string.Retrieves the extension of a file name.Retrieves the fileName of a file without extension.getPackageName
(@NonNull String className) Returns the package name for a class represented as string.getPropertyNameForGetter
(@NonNull String getterName) Get the equivalent property name for the given getter.getPropertyNameForGetter
(@NonNull String getterName, @NonNull String readPrefix) Get the equivalent property name for the given getter and read prefix.getPropertyNameForGetter
(@NonNull String getterName, @NonNull String[] readPrefixes) Get the equivalent property name for the given getter and read prefixes.getPropertyNameForSetter
(@NonNull String setterName) Get the equivalent property name for the given setter.getPropertyNameForSetter
(@NonNull String setterName, @NonNull String writePrefix) Get the equivalent property name for the given setter and write prefix.getPropertyNameForSetter
(@NonNull String setterName, @NonNull String[] writePrefixes) Get the equivalent property name for the given setter and write prefixes.getShortenedName
(@NonNull String typeName) Returns the shortened fully-qualified name for a class represented as a string.getSimpleName
(@NonNull String className) Returns the simple name for a class represented as string.getterNameFor
(@NonNull String propertyName) Get the equivalent getter name for the given property.static String
getterNameFor
(@NonNull String propertyName, boolean isBoolean) Get the equivalent getter name for the given property.getterNameFor
(@NonNull String propertyName, @NonNull Class<?> type) Get the equivalent getter name for the given property.getterNameFor
(@NonNull String propertyName, @NonNull String prefix) Get the equivalent getter name for the given property and a prefix.getterNameFor
(@NonNull String propertyName, @NonNull String[] prefixes) Get the equivalent getter name for the given property and the first prefix.Converts camel case to hyphenated, lowercase form.Converts camel case to hyphenated, lowercase form.static boolean
Checks whether the string is a valid environment-style property name.static boolean
isGetterName
(@NonNull String methodName) Is the given method name a valid getter name.static boolean
Checks whether the given name is a valid service identifier.static boolean
isReaderName
(@NonNull String methodName, @NonNull String readPrefix) Is the given method name a valid reader name.static boolean
isReaderName
(@NonNull String methodName, @NonNull String[] readPrefixes) Is the given method name a valid reader name.static boolean
isSetterName
(@NonNull String methodName) Is the given method name a valid setter name.static boolean
Checks whether the string is a valid hyphenated (kebab-case) property name.static boolean
isWriterName
(@NonNull String methodName, @NonNull String writePrefix) Is the given method name a valid writer name for the prefix.static boolean
isWriterName
(@NonNull String methodName, @NonNull String[] writePrefixes) Is the given method name a valid writer name for any of the prefixes.setterNameFor
(@NonNull String propertyName) Get the equivalent setter name for the given property.setterNameFor
(@NonNull String propertyName, @NonNull String prefix) Get the equivalent setter name for the given property and a prefix.setterNameFor
(@NonNull String propertyName, @NonNull String[] prefixes) Get the equivalent setter name for the given property and the first prefix.trimSuffix
(@NonNull String string, String... suffixes) Trims the given suffixes.underscoreSeparate
(@NonNull String camelCase) Returns the underscore separated version of the given camel case string.underscoreSeparate
(@NonNull String camelCase, boolean lowercase) Returns the underscore separated version of the given camel case string, optionally with lowercase result.
-
Constructor Details
-
NameUtils
public NameUtils()
-
-
Method Details
-
isHyphenatedLowerCase
Checks whether the given name is a valid service identifier.- Parameters:
name
- The name- Returns:
- True if it is
-
decapitalizeWithoutSuffix
@NonNull public static @NonNull String decapitalizeWithoutSuffix(@NonNull @NonNull String name, String... suffixes) Converts class name to property name using JavaBean decapitalization.- Parameters:
name
- The class namesuffixes
- The suffix to remove- Returns:
- The decapitalized name
-
trimSuffix
@NonNull public static @NonNull String trimSuffix(@NonNull @NonNull String string, String... suffixes) Trims the given suffixes.- Parameters:
string
- The string to trimsuffixes
- The suffixes- Returns:
- The trimmed string
-
capitalize
Converts a property name to class name according to the JavaBean convention.- Parameters:
name
- The property name- Returns:
- The class name
-
hyphenate
Converts camel case to hyphenated, lowercase form.- Parameters:
name
- The name- Returns:
- The hyphenated string
-
hyphenate
Converts camel case to hyphenated, lowercase form.- Parameters:
name
- The namelowerCase
- Whether the result should be converted to lower case- Returns:
- The hyphenated string
-
dehyphenate
Converts hyphenated, lower-case form to camel-case form.- Parameters:
name
- The hyphenated string- Returns:
- The camel case form
-
getPackageName
Returns the package name for a class represented as string.- Parameters:
className
- The class name- Returns:
- The package name
-
underscoreSeparate
Returns the underscore separated version of the given camel case string.- Parameters:
camelCase
- The camel case name- Returns:
- The underscore separated version
-
underscoreSeparate
@NonNull public static @NonNull String underscoreSeparate(@NonNull @NonNull String camelCase, boolean lowercase) Returns the underscore separated version of the given camel case string, optionally with lowercase result.- Parameters:
camelCase
- The camel case namelowercase
- true to lowercase the result- Returns:
- The underscore separated version
-
environmentName
Returns the underscore separated version of the given camel case string.- Parameters:
camelCase
- The camel case name- Returns:
- The underscore separated version
-
getSimpleName
Returns the simple name for a class represented as string.- Parameters:
className
- The class name- Returns:
- The simple name of the class
-
getShortenedName
Returns the shortened fully-qualified name for a class represented as a string. Shortened name would have package names and owner objects reduced to a single letter. For example,com.example.Owner$Inner
would becomec.e.O$Inner
. IDEs would still be able to recognize these types, but they would take less space visually.- Parameters:
typeName
- The fully-qualified type name- Returns:
- The shortened type name
- Since:
- 4.8.x
-
isSetterName
Is the given method name a valid setter name.- Parameters:
methodName
- The method name- Returns:
- True if it is a valid setter name
-
isWriterName
public static boolean isWriterName(@NonNull @NonNull String methodName, @NonNull @NonNull String writePrefix) Is the given method name a valid writer name for the prefix.- Parameters:
methodName
- The method namewritePrefix
- The write prefix- Returns:
- True if it is a valid writer name
- Since:
- 3.3.0
-
isWriterName
public static boolean isWriterName(@NonNull @NonNull String methodName, @NonNull @NonNull String[] writePrefixes) Is the given method name a valid writer name for any of the prefixes.- Parameters:
methodName
- The method namewritePrefixes
- The write prefixes- Returns:
- True if it is a valid writer name
- Since:
- 3.3.0
-
getPropertyNameForSetter
@NonNull public static @NonNull String getPropertyNameForSetter(@NonNull @NonNull String setterName) Get the equivalent property name for the given setter.- Parameters:
setterName
- The setter- Returns:
- The property name
-
getPropertyNameForSetter
@NonNull public static @NonNull String getPropertyNameForSetter(@NonNull @NonNull String setterName, @NonNull @NonNull String writePrefix) Get the equivalent property name for the given setter and write prefix.- Parameters:
setterName
- The setter namewritePrefix
- The write prefix- Returns:
- The property name
- Since:
- 3.3.0
-
getPropertyNameForSetter
@NonNull public static @NonNull String getPropertyNameForSetter(@NonNull @NonNull String setterName, @NonNull @NonNull String[] writePrefixes) Get the equivalent property name for the given setter and write prefixes.- Parameters:
setterName
- The setter namewritePrefixes
- The write prefixes- Returns:
- The property name
- Since:
- 3.3.0
-
setterNameFor
Get the equivalent setter name for the given property.- Parameters:
propertyName
- The property name- Returns:
- The setter name
-
setterNameFor
@NonNull public static @NonNull String setterNameFor(@NonNull @NonNull String propertyName, @NonNull @NonNull String[] prefixes) Get the equivalent setter name for the given property and the first prefix.- Parameters:
propertyName
- The property nameprefixes
- The prefixes- Returns:
- The setter name for the first prefix
- Since:
- 3.3.0
-
setterNameFor
@NonNull public static @NonNull String setterNameFor(@NonNull @NonNull String propertyName, @NonNull @NonNull String prefix) Get the equivalent setter name for the given property and a prefix.- Parameters:
propertyName
- The property nameprefix
- The prefix- Returns:
- The setter name
- Since:
- 3.3.0
-
isGetterName
Is the given method name a valid getter name.- Parameters:
methodName
- The method name- Returns:
- True if it is a valid getter name
-
isReaderName
public static boolean isReaderName(@NonNull @NonNull String methodName, @NonNull @NonNull String readPrefix) Is the given method name a valid reader name.- Parameters:
methodName
- The method namereadPrefix
- The read prefix- Returns:
- True if it is a valid read name
- Since:
- 3.3.0
-
isReaderName
public static boolean isReaderName(@NonNull @NonNull String methodName, @NonNull @NonNull String[] readPrefixes) Is the given method name a valid reader name.- Parameters:
methodName
- The method namereadPrefixes
- The valid read prefixes- Returns:
- True if it is a valid reader name
- Since:
- 3.3.0
-
getPropertyNameForGetter
@NonNull public static @NonNull String getPropertyNameForGetter(@NonNull @NonNull String getterName) Get the equivalent property name for the given getter.- Parameters:
getterName
- The getter- Returns:
- The property name
-
getPropertyNameForGetter
@NonNull public static @NonNull String getPropertyNameForGetter(@NonNull @NonNull String getterName, @NonNull @NonNull String readPrefix) Get the equivalent property name for the given getter and read prefix.- Parameters:
getterName
- The getterreadPrefix
- The read prefix- Returns:
- The property name
- Since:
- 3.3.0
-
getPropertyNameForGetter
@NonNull public static @NonNull String getPropertyNameForGetter(@NonNull @NonNull String getterName, @NonNull @NonNull String[] readPrefixes) Get the equivalent property name for the given getter and read prefixes.- Parameters:
getterName
- The getterreadPrefixes
- The read prefixes- Returns:
- The property name
- Since:
- 3.3.0
-
getterNameFor
Get the equivalent getter name for the given property.- Parameters:
propertyName
- The property name- Returns:
- The getter name
-
getterNameFor
@NonNull public static @NonNull String getterNameFor(@NonNull @NonNull String propertyName, @NonNull @NonNull String[] prefixes) Get the equivalent getter name for the given property and the first prefix.- Parameters:
propertyName
- The property nameprefixes
- The prefixes- Returns:
- The getter name for the first prefix
- Since:
- 3.3.0
-
getterNameFor
@NonNull public static @NonNull String getterNameFor(@NonNull @NonNull String propertyName, @NonNull @NonNull String prefix) Get the equivalent getter name for the given property and a prefix.- Parameters:
propertyName
- The property nameprefix
- The prefix- Returns:
- The getter name for the prefix
- Since:
- 3.3.0
-
getterNameFor
@NonNull public static @NonNull String getterNameFor(@NonNull @NonNull String propertyName, @NonNull @NonNull Class<?> type) Get the equivalent getter name for the given property.- Parameters:
propertyName
- The property nametype
- The type of the property- Returns:
- The getter name
-
getterNameFor
Get the equivalent getter name for the given property.- Parameters:
propertyName
- The property nameisBoolean
- Is the property a boolean- Returns:
- The getter name
-
decapitalize
Decapitalizes a given string according to the rule:- If the first or only character is Upper Case, it is made Lower Case
- UNLESS the second character is also Upper Case, when the String is returned unchanged.
- Parameters:
name
- The String to decapitalize- Returns:
- The decapitalized version of the String
-
extension
Retrieves the extension of a file name. Ex: index.html -> html- Parameters:
filename
- The name of the file- Returns:
- The file extension
-
camelCase
The camel case version of the string with the first letter in lower case.- Parameters:
str
- The string- Returns:
- The new string in camel case
-
camelCase
@NonNull public static @NonNull String camelCase(@NonNull @NonNull String str, boolean lowerCaseFirstLetter) The camel case version of the string with the first letter in lower case.- Parameters:
str
- The stringlowerCaseFirstLetter
- Whether the first letter is in upper case or lower case- Returns:
- The new string in camel case
-
filename
Retrieves the fileName of a file without extension. Ex: index.html -> index- Parameters:
path
- The path of the file- Returns:
- The file name without extension
-
isValidHyphenatedPropertyName
Checks whether the string is a valid hyphenated (kebab-case) property name.- Parameters:
str
- The string to check- Returns:
- Whether is valid kebab-case or not
-
isEnvironmentName
Checks whether the string is a valid environment-style property name.- Parameters:
str
- The string to check- Returns:
- Whether is valid environment-style property name or not
-