package st.gravel.support.jvm;
public class CharacterExtensions {
private static final boolean[] VOWEL_MAP = new boolean[] { false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
true, false, false, false, true, false, false, false, true, false,
false, false, false, false, true, false, false, false, false,
false, true, false, false, false, false, false, false, false,
false, false, false, false, true, false, false, false, true, false,
false, false, true, false, false, false, false, false, true, false,
false, false, false, false, true, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, true, true, true,
true, true, true, false, false, true, true, true, true, true, true,
true, true, false, false, true, true, true, true, true, false,
true, true, true, true, true, false, false, false, true, true,
true, true, true, true, false, false, true, true, true, true, true,
true, true, true, false, false, true, true, true, true, true,
false, true, true, true, true, true, false, false, false, true,
true, true, true, true, true, false, false, false, false, false,
false, false, false, false, false, false, false, true, true, true,
true, true, true, true, true, true, true, false, false, false,
false, false, false, false, false, false, false, false, false,
true, true, true, true, true, true, true, true, true, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, true, true, true,
true, true, true, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, true, true, true, true,
true, true, true, true, true, true, true, true, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, true, false, false,
false, false, false, false, false, true, true, true, false, false,
false, false, false, false, false, false, false, false, false,
false, false, true, true, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false,
false, false, false, false, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, true, true, false,
true, true, true, true, false, false, false, false, false, false,
false, false, true, true, true, true };
public static Character asUppercase(Character receiver) {
return Character.toUpperCase(receiver);
}
public static int asInteger(Character receiver) {
return receiver.charValue();
}
public static Character newInstance(Object receiver, int value) {
return (char)value;
}
public static boolean isVowel(Character receiver) {
if (receiver == null)
return false;
return isVowel((char) receiver);
}
public static boolean isSmallerThan_(Character receiver, Character other) {
return receiver.compareTo(other) < 0;
}
public static boolean isVowel(char receiver) {
if (receiver > VOWEL_MAP.length)
return false;
return VOWEL_MAP[receiver];
}
public static boolean isLetter(Character receiver) {
if (receiver == null)
return false;
return isLetter((char) receiver);
}
public static boolean isLetter(char receiver) {
return receiver >= 'A' && receiver <= 'Z' || receiver >= 'a'
&& receiver <= 'z';
}
public static boolean isWhitespace(Character receiver) {
if (receiver == null)
return false;
return isWhitespace((char) receiver);
}
public static boolean isWhitespace(char receiver) {
return receiver == ' ' || receiver == '\n' || receiver == '\t'
|| receiver == '\r';
}
public static boolean isDigit(final Character receiver) {
if (receiver == null)
return false;
return isDigit((char) receiver);
}
public static boolean isDigit(final char receiver) {
return (receiver >= '0') && (receiver <= '9');
}
public static int digitValue(final Character receiver) {
if (receiver == null)
return -1;
return digitValue((char) receiver);
}
public static int digitValue(final char receiver) {
int value = receiver - '0';
if (value >= 0 && value <= 9)
return value;
value = receiver - 'A';
if (value >= 0 && value <= 26)
return value + 10;
value = receiver - 'a';
if (value >= 0 && value <= 26)
return value + 10;
return -1;
}
public static boolean equals_(char receiver, char other) {
return receiver == other;
}
public static boolean equals_(Character receiver, char other) {
return receiver != null && receiver.charValue() == other;
}
public static boolean equals_(char receiver, Character other) {
return other != null && other.charValue() == receiver;
}
public static boolean equals_(Character receiver, Character other) {
return (receiver == null && other == null)
|| (receiver != null && other != null && receiver.equals(other));
}
public static boolean characters_equals_(char[] characters, char[] other) {
int length = characters.length;
if (length != other.length)
return false;
for (int i = 0; i < length; i++) {
if (characters[i] != other[i])
return false;
}
return true;
}
public static int codePointOfCharacters_(char[] characters) {
return Character.codePointAt(characters, 0);
}
public static int codeUnitsSize_(char[] characters) {
return characters.length;
}
}