View Javadoc
1   package com.atlassian.plugin.schema.spi;
2   
3   import java.util.function.Function;
4   
5   final class IdUtils {
6       private static final Function<Character, String> CAMEL_CASER = input -> String.valueOf(Character.toUpperCase(input));
7   
8       private static final Function<Character, String> TITLER = input -> " " + Character.toUpperCase(input);
9   
10      public static String dashesToCamelCase(String id) {
11          return process(id, CAMEL_CASER);
12      }
13  
14      public static String dashesToTitle(String id) {
15          return process(id, TITLER).substring(1);
16      }
17  
18      private static String process(String id, Function<Character, String> converter) {
19          StringBuilder sb = new StringBuilder();
20  
21          char prev = '-';
22          for (int x = 0; x < id.length(); x++) {
23              char cur = id.charAt(x);
24              if (prev == '-') {
25                  sb.append(converter.apply(cur));
26              } else if (cur != '-') {
27                  sb.append(cur);
28              }
29              prev = cur;
30          }
31          return sb.toString();
32      }
33  }