- java.lang.Object
-
- io.github.mmm.base.text.CaseSyntax
-
public class CaseSyntax extends Object
Defines the different styles of lower-/upper-case usage such ascamlCase,train-case, etc. For further examples see the constants defined here inCaseSyntax.- Since:
- 7.4.0
- Author:
- Joerg Hohwiller (hohwille at users.sourceforge.net)
-
-
Field Summary
Fields Modifier and Type Field Description static CaseSyntaxCAML_CASECaseSyntaxforcamlCase(e.g.static CaseSyntaxCAML_SNAKE_CASECaseSyntaxforcaml_Snake_Case.static CaseSyntaxCAML_SPACE_CASECaseSyntaxforcaml Space Case.static CaseSyntaxCAML_TRAIN_CASECaseSyntaxforcaml-Train-Case.static CaseSyntaxCAPITALIZEDCaseSyntaxforC$$apitalized(only convert first char to upper case, keep other case untouched).static CaseSyntaxCAPITALIZED_LOWERCaseSyntaxforCapitalizedlower.static CharacterKEEP_SPECIAL_CHARSTheword separatorused to keep any special (separator) characters untouched byconvert.static CaseSyntaxLOWER_SNAKE_CASECaseSyntaxforlower_snake_case(e.g.static CaseSyntaxLOWER_SPACE_CASECaseSyntaxforlower space case.static CaseSyntaxLOWERCASECaseSyntaxforlowercase(e.g.static CaseSyntaxPASCAL_CASECaseSyntaxforPascalCase(e.g.static CaseSyntaxPASCAL_SNAKE_CASECaseSyntaxforPascal_Snake_Case.static CaseSyntaxPASCAL_SPACE_CASECaseSyntaxforPascal Space Case.static CaseSyntaxPASCAL_TRAIN_CASECaseSyntaxforPascal-Train-Case.static CaseSyntaxTRAIN_CASECaseSyntaxfortrain-case(e.g.static CaseSyntaxUNCAPITALIZEDCaseSyntaxforu$$capitalized(only convert first char to lower case, keep other case untouched).static CaseSyntaxUNCAPITALIZED_UPPERCaseSyntaxforCapitalizedlower.static CaseSyntaxUNMODIFIEDCaseSyntaxfor$$$unmodified(keep all characters untouched).static CaseSyntaxUPPER_SNAKE_CASECaseSyntaxforUPPER_SNAKE_CASE(e.g.static CaseSyntaxUPPER_SPACE_CASECaseSyntaxforUPPER SPACE CASE.static CaseSyntaxUPPER_TRAIN_CASECaseSyntaxforUPPER-TRAIN-CASE.static CaseSyntaxUPPERCASECaseSyntaxforUPPERCASE.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Stringconvert(String string)Same asconvert(String, Locale)with a standardLocaleto prevent accidental conversion.Stringconvert(String string, Locale locale)Converts to thisCaseSyntax.booleanequals(Object obj)CaseConversiongetFirstCase()CaseConversiongetOtherCase()CharactergetWordSeparator()CaseConversiongetWordStartCase()inthashCode()booleanhasWordSeparator()static StringnormalizeExample(String example)static CaseSyntaxof(Character separator, CaseConversion allCharCase)The constructor.static CaseSyntaxof(Character separator, CaseConversion firstCharCase, CaseConversion wordStartCharCase)The constructor.static CaseSyntaxof(Character separator, CaseConversion firstCharCase, CaseConversion wordStartCharCase, CaseConversion otherCharCase)static CaseSyntaxofExample(String example, boolean standardize)StringtoString()
-
-
-
Field Detail
-
KEEP_SPECIAL_CHARS
public static final Character KEEP_SPECIAL_CHARS
Theword separatorused to keep any special (separator) characters untouched byconvert.
-
LOWERCASE
public static final CaseSyntax LOWERCASE
CaseSyntaxforlowercase(e.g. for Java package segments).
-
UPPERCASE
public static final CaseSyntax UPPERCASE
CaseSyntaxforUPPERCASE.
-
CAML_CASE
public static final CaseSyntax CAML_CASE
CaseSyntaxforcamlCase(e.g. for Java fields).
-
PASCAL_CASE
public static final CaseSyntax PASCAL_CASE
CaseSyntaxforPascalCase(e.g. for Java types).
-
TRAIN_CASE
public static final CaseSyntax TRAIN_CASE
CaseSyntaxfortrain-case(e.g. for URLs or Angular).
-
UPPER_TRAIN_CASE
public static final CaseSyntax UPPER_TRAIN_CASE
CaseSyntaxforUPPER-TRAIN-CASE.
-
PASCAL_TRAIN_CASE
public static final CaseSyntax PASCAL_TRAIN_CASE
CaseSyntaxforPascal-Train-Case.
-
CAML_TRAIN_CASE
public static final CaseSyntax CAML_TRAIN_CASE
CaseSyntaxforcaml-Train-Case.
-
LOWER_SNAKE_CASE
public static final CaseSyntax LOWER_SNAKE_CASE
CaseSyntaxforlower_snake_case(e.g. for Ruby).
-
UPPER_SNAKE_CASE
public static final CaseSyntax UPPER_SNAKE_CASE
CaseSyntaxforUPPER_SNAKE_CASE(e.g. for Java constants).
-
PASCAL_SNAKE_CASE
public static final CaseSyntax PASCAL_SNAKE_CASE
CaseSyntaxforPascal_Snake_Case.
-
CAML_SNAKE_CASE
public static final CaseSyntax CAML_SNAKE_CASE
CaseSyntaxforcaml_Snake_Case.
-
LOWER_SPACE_CASE
public static final CaseSyntax LOWER_SPACE_CASE
CaseSyntaxforlower space case.
-
UPPER_SPACE_CASE
public static final CaseSyntax UPPER_SPACE_CASE
CaseSyntaxforUPPER SPACE CASE.
-
PASCAL_SPACE_CASE
public static final CaseSyntax PASCAL_SPACE_CASE
CaseSyntaxforPascal Space Case.
-
CAML_SPACE_CASE
public static final CaseSyntax CAML_SPACE_CASE
CaseSyntaxforcaml Space Case.
-
UNMODIFIED
public static final CaseSyntax UNMODIFIED
CaseSyntaxfor$$$unmodified(keep all characters untouched).
-
CAPITALIZED
public static final CaseSyntax CAPITALIZED
CaseSyntaxforC$$apitalized(only convert first char to upper case, keep other case untouched).
-
UNCAPITALIZED
public static final CaseSyntax UNCAPITALIZED
CaseSyntaxforu$$capitalized(only convert first char to lower case, keep other case untouched).
-
CAPITALIZED_LOWER
public static final CaseSyntax CAPITALIZED_LOWER
CaseSyntaxforCapitalizedlower.
-
UNCAPITALIZED_UPPER
public static final CaseSyntax UNCAPITALIZED_UPPER
CaseSyntaxforCapitalizedlower.
-
-
Method Detail
-
getWordSeparator
public Character getWordSeparator()
- Returns:
- the word separator char (e.g.
'_','-' or '.') ornullfor no word separator. The valueKEEP_SPECIAL_CHARScan be used to keep special characters untouched.
-
hasWordSeparator
public boolean hasWordSeparator()
- Returns:
trueif theword separatorisnullor
-
getFirstCase
public CaseConversion getFirstCase()
- Returns:
- the
CaseConversionused byconvert(String)for the first character.
-
getWordStartCase
public CaseConversion getWordStartCase()
- Returns:
- the
CaseConversionused byconvert(String)for word start characters (the first character of a new word except for thefirstcharacter of the entireString).
-
getOtherCase
public CaseConversion getOtherCase()
- Returns:
- the
CaseConversionused byconvert(String)for all other characters (exceptfirstandword startcharacters).
-
convert
public String convert(String string)
Same asconvert(String, Locale)with a standardLocaleto prevent accidental conversion.- Parameters:
string- theStringto convert.- Returns:
- the String converted to this
CaseSyntax.
-
convert
public String convert(String string, Locale locale)
Converts to thisCaseSyntax. The first character will be converted usinggetFirstCase(). Characters other thanletters or digitsare considered as word separator. In the most cases, they will be- Parameters:
string- theStringto convert.locale- the explicitLocaleto use. In most cases you want to useconvert(String)instead.- Returns:
- the String converted to this
CaseSyntax.
-
of
public static CaseSyntax of(Character separator, CaseConversion allCharCase)
The constructor.- Parameters:
separator- - seegetWordSeparator().allCharCase- theCaseConversionused forfirst,word-start, and allotheralphabetic characters.- Returns:
- the requested
CaseSyntax.
-
of
public static CaseSyntax of(Character separator, CaseConversion firstCharCase, CaseConversion wordStartCharCase)
The constructor. Will useCaseConversion.LOWER_CASEforothercharacters.- Parameters:
separator- - seegetWordSeparator().firstCharCase- - seegetFirstCase().wordStartCharCase- - seegetWordStartCase().- Returns:
- the requested
CaseSyntax.
-
of
public static CaseSyntax of(Character separator, CaseConversion firstCharCase, CaseConversion wordStartCharCase, CaseConversion otherCharCase)
- Parameters:
separator- - seegetWordSeparator().firstCharCase- - seegetFirstCase().wordStartCharCase- - seegetWordStartCase().otherCharCase- - seegetOtherCase().- Returns:
- the requested
CaseSyntax.
-
normalizeExample
public static String normalizeExample(String example)
- Parameters:
example- theexampleto normalize.- Returns:
- the normalized
example(in lower case with all special characters removed).
-
ofExample
public static CaseSyntax ofExample(String example, boolean standardize)
- Parameters:
example- an example for the requestedCaseSyntaxsuch asPascalCaseorMyVariableNameforPASCAL_CASEandtrain-caseormy-variable-nameforTRAIN_CASE. See otherCaseSyntaxconstants for more examples. The givenexampleStringhas to start with aletter(or$-Sign) and contain at least two more such characters (letter or $-sign) next to each other. Digits are more or less ignored. If you use variable names as example consider naming such variables with more than one word and no characters other thanletters or digits. Otherwise you would have to write things such asComPonentorcom-ponentto indicate PascalCase or train-case for the variablecomponent. Also when using variables asCaseSyntaxexample you shouldnormalizeExample(String)normalize} them before resolving.standardize- -trueif existing constants such asPASCAL_CASEorTRAIN_CASEshall be returned ifequalto the requestedCaseSyntax,falseotherwise.- Returns:
- the
CaseSyntaxfor the givenexampleas described above.
-
-