diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-06-19 18:37:51 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-06-19 18:37:51 +0100 |
| commit | e2984c27ab2a915037fc0d9aaa9426894a7ad781 (patch) | |
| tree | 396b77c0e05f1dac210b2c64bfdb6c9c09110948 /src/main/java/org | |
| parent | f4bccfa54ba5158d00f866d4265a04cb049f7dbd (diff) | |
Add lowerCamelCaseToUpperCase
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java b/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java index 80b8459..1b962a4 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java @@ -8,4 +8,20 @@ public class Casing { public static String lowerCamelCaseToUpperCamelCase(String name) { return name.substring(0, 1).toUpperCase(Locale.ROOT) + name.substring(1); } + + public static String lowerCamelCaseToUpperCase(String lowerCamelCase) { + var upperCase = new StringBuilder(); + + for (var characterIndex = 0; characterIndex < lowerCamelCase.length(); characterIndex++) { + var character = lowerCamelCase.charAt(characterIndex); + if (Character.isUpperCase(character)) { + upperCase.append('_'); + upperCase.append(character); + } else { + upperCase.append(Character.toUpperCase(character)); + } + } + + return upperCase.toString(); + } } |
