Class NameUtils

java.lang.Object
io.micronaut.core.naming.NameUtils

public class NameUtils extends Object

Naming convention utilities.

Since:
1.0
Author:
Graeme Rocher
  • Constructor Details

    • NameUtils

      public NameUtils()
  • Method Details

    • isHyphenatedLowerCase

      public static boolean isHyphenatedLowerCase(@Nullable @Nullable String name)
      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 name
      suffixes - 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 trim
      suffixes - The suffixes
      Returns:
      The trimmed string
    • capitalize

      @NonNull public static @NonNull String capitalize(@NonNull @NonNull String name)
      Converts a property name to class name according to the JavaBean convention.
      Parameters:
      name - The property name
      Returns:
      The class name
    • hyphenate

      @NonNull public static @NonNull String hyphenate(@NonNull @NonNull String name)
      Converts camel case to hyphenated, lowercase form.
      Parameters:
      name - The name
      Returns:
      The hyphenated string
    • hyphenate

      @NonNull public static @NonNull String hyphenate(@NonNull @NonNull String name, boolean lowerCase)
      Converts camel case to hyphenated, lowercase form.
      Parameters:
      name - The name
      lowerCase - Whether the result should be converted to lower case
      Returns:
      The hyphenated string
    • dehyphenate

      @NonNull public static @NonNull String dehyphenate(@NonNull @NonNull String name)
      Converts hyphenated, lower-case form to camel-case form.
      Parameters:
      name - The hyphenated string
      Returns:
      The camel case form
    • getPackageName

      @NonNull public static @NonNull String getPackageName(@NonNull @NonNull String className)
      Returns the package name for a class represented as string.
      Parameters:
      className - The class name
      Returns:
      The package name
    • underscoreSeparate

      @NonNull public static @NonNull String underscoreSeparate(@NonNull @NonNull String camelCase)
      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 name
      lowercase - true to lowercase the result
      Returns:
      The underscore separated version
    • environmentName

      @NonNull public static @NonNull String environmentName(@NonNull @NonNull String camelCase)
      Returns the underscore separated version of the given camel case string.
      Parameters:
      camelCase - The camel case name
      Returns:
      The underscore separated version
    • getSimpleName

      @NonNull public static @NonNull String getSimpleName(@NonNull @NonNull String className)
      Returns the simple name for a class represented as string.
      Parameters:
      className - The class name
      Returns:
      The simple name of the class
    • getShortenedName

      @NonNull public static @NonNull String getShortenedName(@NonNull @NonNull String typeName)
      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 become c.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

      public static boolean isSetterName(@NonNull @NonNull String methodName)
      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 name
      writePrefix - 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 name
      writePrefixes - 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 name
      writePrefix - 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 name
      writePrefixes - The write prefixes
      Returns:
      The property name
      Since:
      3.3.0
    • setterNameFor

      @NonNull public static @NonNull String setterNameFor(@NonNull @NonNull String propertyName)
      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 name
      prefixes - 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 name
      prefix - The prefix
      Returns:
      The setter name
      Since:
      3.3.0
    • isGetterName

      public static boolean isGetterName(@NonNull @NonNull String methodName)
      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 name
      readPrefix - 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 name
      readPrefixes - 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 getter
      readPrefix - 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 getter
      readPrefixes - The read prefixes
      Returns:
      The property name
      Since:
      3.3.0
    • getterNameFor

      @NonNull public static @NonNull String getterNameFor(@NonNull @NonNull String propertyName)
      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 name
      prefixes - 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 name
      prefix - 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 name
      type - The type of the property
      Returns:
      The getter name
    • getterNameFor

      public static String getterNameFor(@NonNull @NonNull String propertyName, boolean isBoolean)
      Get the equivalent getter name for the given property.
      Parameters:
      propertyName - The property name
      isBoolean - Is the property a boolean
      Returns:
      The getter name
    • decapitalize

      @Nullable public static @Nullable String decapitalize(@Nullable @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.
      Parameters:
      name - The String to decapitalize
      Returns:
      The decapitalized version of the String
    • extension

      @NonNull public static @NonNull String extension(@NonNull @NonNull String filename)
      Retrieves the extension of a file name. Ex: index.html -> html
      Parameters:
      filename - The name of the file
      Returns:
      The file extension
    • camelCase

      @NonNull public static @NonNull String camelCase(@NonNull @NonNull String str)
      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 string
      lowerCaseFirstLetter - Whether the first letter is in upper case or lower case
      Returns:
      The new string in camel case
    • filename

      @NonNull public static @NonNull String filename(@NonNull @NonNull String path)
      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

      public static boolean isValidHyphenatedPropertyName(@NonNull @NonNull String str)
      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

      public static boolean isEnvironmentName(@NonNull @NonNull String str)
      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