From 6120ab66ba5b6664d547d52c61d2dc4d25969a60 Mon Sep 17 00:00:00 2001 From: antonio Date: Thu, 17 Aug 2023 14:09:56 +0200 Subject: [PATCH] style: implemented string conversion method to PascalCase --- .../com/cappielloantonio/tempo/util/Util.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/app/src/main/java/com/cappielloantonio/tempo/util/Util.java b/app/src/main/java/com/cappielloantonio/tempo/util/Util.java index 32a1bd05..93a32a3d 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/util/Util.java +++ b/app/src/main/java/com/cappielloantonio/tempo/util/Util.java @@ -14,4 +14,40 @@ public class Util { return null; } } + + public static String toPascalCase(String name) { + if (name == null || name.isEmpty()) { + return name; + } + + StringBuilder pascalCase = new StringBuilder(); + + char newChar; + boolean toUpper = false; + char[] charArray = name.toCharArray(); + + for (int ctr = 0; ctr <= charArray.length - 1; ctr++) { + if (ctr == 0) { + newChar = Character.toUpperCase(charArray[ctr]); + pascalCase = new StringBuilder(Character.toString(newChar)); + continue; + } + + if (charArray[ctr] == '_') { + toUpper = true; + continue; + } + + if (toUpper) { + newChar = Character.toUpperCase(charArray[ctr]); + pascalCase.append(newChar); + toUpper = false; + continue; + } + + pascalCase.append(charArray[ctr]); + } + + return pascalCase.toString(); + } }