package ch.qos.cal10n.util;
import ch.qos.cal10n.Locale;
import ch.qos.cal10n.LocaleData;
abstract public class implements AnnotationExtractor {
abstract protected LocaleData ();
public Locale[] () {
LocaleData localeData = extractLocaleData();
if (localeData == null) {
return null;
}
return localeData.value();
}
public String[] () {
Locale[] localeDataArray = extractLocales();
if (localeDataArray == null) {
return null;
}
String[] names = new String[localeDataArray.length];
for (int i = 0; i < localeDataArray.length; i++) {
names[i] = localeDataArray[i].value();
}
return names;
}
public String (java.util.Locale juLocale) {
LocaleData localeData = extractLocaleData();
if (localeData == null) {
return "";
}
String defaultCharset = localeData.defaultCharset();
Locale la = findLocaleAnnotation(juLocale, localeData);
String localeCharset = null;
if (la != null) {
localeCharset = la.charset();
}
if (!isEmptyString(localeCharset)) {
return localeCharset;
}
return defaultCharset;
}
static Locale (java.util.Locale juLocale, LocaleData localeData) {
Locale[] localeAnnotationArray = localeData.value();
if (localeAnnotationArray == null) {
return null;
}
for (Locale la : localeAnnotationArray) {
if (la.value().equals(juLocale.toString())) {
return la;
}
}
return null;
}
static boolean (String s) {
return s == null || s.length() == 0;
}
}