2 package org.lineageos.eleven.format;
4 import android.text.TextUtils;
6 public class Capitalize {
8 /* This class is never initiated */
12 public static final String capitalize(String str) {
13 return capitalize(str, null);
17 * Capitalizes the first character in a string
19 * @param str The string to capitalize
20 * @param delimiters The delimiters
21 * @return A captitalized string
23 public static final String capitalize(String str, char... delimiters) {
24 final int delimLen = delimiters == null ? -1 : delimiters.length;
25 if (TextUtils.isEmpty(str) || delimLen == 0) {
28 final char[] buffer = str.toCharArray();
29 boolean capitalizeNext = true;
30 for (int i = 0; i < buffer.length; i++) {
32 if (isDelimiter(ch, delimiters)) {
33 capitalizeNext = true;
34 } else if (capitalizeNext) {
35 buffer[i] = Character.toTitleCase(ch);
36 capitalizeNext = false;
39 return new String(buffer);
43 * Is the character a delimiter.
45 * @param ch the character to check
46 * @param delimiters the delimiters
47 * @return true if it is a delimiter
49 private static final boolean isDelimiter(char ch, char[] delimiters) {
50 if (delimiters == null) {
51 return Character.isWhitespace(ch);
53 for (char delimiter : delimiters) {
54 if (ch == delimiter) {