- 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 CaseSyntax
CAML_CASE
CaseSyntax
forcamlCase
(e.g.static CaseSyntax
CAML_SNAKE_CASE
CaseSyntax
forcaml_Snake_Case
.static CaseSyntax
CAML_SPACE_CASE
CaseSyntax
forcaml Space Case
.static CaseSyntax
CAML_TRAIN_CASE
CaseSyntax
forcaml-Train-Case
.static CaseSyntax
CAPITALIZED
CaseSyntax
forC$$apitalized
(only convert first char to upper case, keep other case untouched).static CaseSyntax
CAPITALIZED_LOWER
CaseSyntax
forCapitalizedlower
.static Character
KEEP_SPECIAL_CHARS
Theword separator
used to keep any special (separator) characters untouched byconvert
.static CaseSyntax
LOWER_SNAKE_CASE
CaseSyntax
forlower_snake_case
(e.g.static CaseSyntax
LOWER_SPACE_CASE
CaseSyntax
forlower space case
.static CaseSyntax
LOWERCASE
CaseSyntax
forlowercase
(e.g.static CaseSyntax
PASCAL_CASE
CaseSyntax
forPascalCase
(e.g.static CaseSyntax
PASCAL_SNAKE_CASE
CaseSyntax
forPascal_Snake_Case
.static CaseSyntax
PASCAL_SPACE_CASE
CaseSyntax
forPascal Space Case
.static CaseSyntax
PASCAL_TRAIN_CASE
CaseSyntax
forPascal-Train-Case
.static CaseSyntax
TRAIN_CASE
CaseSyntax
fortrain-case
(e.g.static CaseSyntax
UNCAPITALIZED
CaseSyntax
foru$$capitalized
(only convert first char to lower case, keep other case untouched).static CaseSyntax
UNCAPITALIZED_UPPER
CaseSyntax
forCapitalizedlower
.static CaseSyntax
UNMODIFIED
CaseSyntax
for$$$unmodified
(keep all characters untouched).static CaseSyntax
UPPER_SNAKE_CASE
CaseSyntax
forUPPER_SNAKE_CASE
(e.g.static CaseSyntax
UPPER_SPACE_CASE
CaseSyntax
forUPPER SPACE CASE
.static CaseSyntax
UPPER_TRAIN_CASE
CaseSyntax
forUPPER-TRAIN-CASE
.static CaseSyntax
UPPERCASE
CaseSyntax
forUPPERCASE
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description String
convert(String string)
Same asconvert(String, Locale)
with a standardLocale
to prevent accidental conversion.String
convert(String string, Locale locale)
Converts to thisCaseSyntax
.boolean
equals(Object obj)
CaseConversion
getFirstCase()
CaseConversion
getOtherCase()
Character
getWordSeparator()
CaseConversion
getWordStartCase()
int
hashCode()
boolean
hasWordSeparator()
static String
normalizeExample(String example)
static CaseSyntax
of(Character separator, CaseConversion allCharCase)
The constructor.static CaseSyntax
of(Character separator, CaseConversion firstCharCase, CaseConversion wordStartCharCase)
The constructor.static CaseSyntax
of(Character separator, CaseConversion firstCharCase, CaseConversion wordStartCharCase, CaseConversion otherCharCase)
static CaseSyntax
ofExample(String example, boolean standardize)
String
toString()
-
-
-
Field Detail
-
KEEP_SPECIAL_CHARS
public static final Character KEEP_SPECIAL_CHARS
Theword separator
used to keep any special (separator) characters untouched byconvert
.
-
LOWERCASE
public static final CaseSyntax LOWERCASE
CaseSyntax
forlowercase
(e.g. for Java package segments).
-
UPPERCASE
public static final CaseSyntax UPPERCASE
CaseSyntax
forUPPERCASE
.
-
CAML_CASE
public static final CaseSyntax CAML_CASE
CaseSyntax
forcamlCase
(e.g. for Java fields).
-
PASCAL_CASE
public static final CaseSyntax PASCAL_CASE
CaseSyntax
forPascalCase
(e.g. for Java types).
-
TRAIN_CASE
public static final CaseSyntax TRAIN_CASE
CaseSyntax
fortrain-case
(e.g. for URLs or Angular).
-
UPPER_TRAIN_CASE
public static final CaseSyntax UPPER_TRAIN_CASE
CaseSyntax
forUPPER-TRAIN-CASE
.
-
PASCAL_TRAIN_CASE
public static final CaseSyntax PASCAL_TRAIN_CASE
CaseSyntax
forPascal-Train-Case
.
-
CAML_TRAIN_CASE
public static final CaseSyntax CAML_TRAIN_CASE
CaseSyntax
forcaml-Train-Case
.
-
LOWER_SNAKE_CASE
public static final CaseSyntax LOWER_SNAKE_CASE
CaseSyntax
forlower_snake_case
(e.g. for Ruby).
-
UPPER_SNAKE_CASE
public static final CaseSyntax UPPER_SNAKE_CASE
CaseSyntax
forUPPER_SNAKE_CASE
(e.g. for Java constants).
-
PASCAL_SNAKE_CASE
public static final CaseSyntax PASCAL_SNAKE_CASE
CaseSyntax
forPascal_Snake_Case
.
-
CAML_SNAKE_CASE
public static final CaseSyntax CAML_SNAKE_CASE
CaseSyntax
forcaml_Snake_Case
.
-
LOWER_SPACE_CASE
public static final CaseSyntax LOWER_SPACE_CASE
CaseSyntax
forlower space case
.
-
UPPER_SPACE_CASE
public static final CaseSyntax UPPER_SPACE_CASE
CaseSyntax
forUPPER SPACE CASE
.
-
PASCAL_SPACE_CASE
public static final CaseSyntax PASCAL_SPACE_CASE
CaseSyntax
forPascal Space Case
.
-
CAML_SPACE_CASE
public static final CaseSyntax CAML_SPACE_CASE
CaseSyntax
forcaml Space Case
.
-
UNMODIFIED
public static final CaseSyntax UNMODIFIED
CaseSyntax
for$$$unmodified
(keep all characters untouched).
-
CAPITALIZED
public static final CaseSyntax CAPITALIZED
CaseSyntax
forC$$apitalized
(only convert first char to upper case, keep other case untouched).
-
UNCAPITALIZED
public static final CaseSyntax UNCAPITALIZED
CaseSyntax
foru$$capitalized
(only convert first char to lower case, keep other case untouched).
-
CAPITALIZED_LOWER
public static final CaseSyntax CAPITALIZED_LOWER
CaseSyntax
forCapitalizedlower
.
-
UNCAPITALIZED_UPPER
public static final CaseSyntax UNCAPITALIZED_UPPER
CaseSyntax
forCapitalizedlower
.
-
-
Method Detail
-
getWordSeparator
public Character getWordSeparator()
- Returns:
- the word separator char (e.g.
'_','-' or '.'
) ornull
for no word separator. The valueKEEP_SPECIAL_CHARS
can be used to keep special characters untouched.
-
hasWordSeparator
public boolean hasWordSeparator()
- Returns:
true
if theword separator
isnull
or
-
getFirstCase
public CaseConversion getFirstCase()
- Returns:
- the
CaseConversion
used byconvert(String)
for the first character.
-
getWordStartCase
public CaseConversion getWordStartCase()
- Returns:
- the
CaseConversion
used byconvert(String)
for word start characters (the first character of a new word except for thefirst
character of the entireString
).
-
getOtherCase
public CaseConversion getOtherCase()
- Returns:
- the
CaseConversion
used byconvert(String)
for all other characters (exceptfirst
andword start
characters).
-
convert
public String convert(String string)
Same asconvert(String, Locale)
with a standardLocale
to prevent accidental conversion.- Parameters:
string
- theString
to 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 digits
are considered as word separator. In the most cases, they will be- Parameters:
string
- theString
to convert.locale
- the explicitLocale
to 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
- theCaseConversion
used forfirst
,word-start
, and allother
alphabetic characters.- Returns:
- the requested
CaseSyntax
.
-
of
public static CaseSyntax of(Character separator, CaseConversion firstCharCase, CaseConversion wordStartCharCase)
The constructor. Will useCaseConversion.LOWER_CASE
forother
characters.- 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
- theexample
to 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 requestedCaseSyntax
such asPascalCase
orMyVariableName
forPASCAL_CASE
andtrain-case
ormy-variable-name
forTRAIN_CASE
. See otherCaseSyntax
constants for more examples. The givenexample
String
has 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 asComPonent
orcom-ponent
to indicate PascalCase or train-case for the variablecomponent
. Also when using variables asCaseSyntax
example you shouldnormalizeExample(String)
normalize} them before resolving.standardize
- -true
if existing constants such asPASCAL_CASE
orTRAIN_CASE
shall be returned ifequal
to the requestedCaseSyntax
,false
otherwise.- Returns:
- the
CaseSyntax
for the givenexample
as described above.
-
-