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 }