blob: 815d7580df81548c232a0b83564c59035d6b1253 [file] [log] [blame]
package com.ibm.text.UCD;
import com.ibm.text.utility.*;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
public final class Default implements UCD_Types {
private static String ucdVersion = UCD.latestVersion;
private static UCD ucd;
private static Normalizer nfc;
private static Normalizer nfd;
private static Normalizer nfkc;
private static Normalizer nfkd;
private static Normalizer[] nf = new Normalizer[4];
private static String year;
public static void setUCD(String version) {
ucdVersion = version;
setUCD();
}
private static boolean inRecursiveCall = false;
private static void setUCD() {
if (inRecursiveCall) {
throw new IllegalArgumentException("Recursive call to setUCD");
}
inRecursiveCall = true;
ucd = UCD.make(ucdVersion);
nfd = nf[NFD] = new Normalizer(Normalizer.NFD, ucdVersion());
nfc = nf[NFC] = new Normalizer(Normalizer.NFC, ucdVersion());
nfkd = nf[NFKD] = new Normalizer(Normalizer.NFKD, ucdVersion());
nfkc = nf[NFKC] = new Normalizer(Normalizer.NFKC, ucdVersion());
System.out.println("Loaded UCD" + ucd().getVersion() + " " + (new Date(ucd().getDate())));
inRecursiveCall = false;
}
static DateFormat myDateFormat = new SimpleDateFormat("yyyy-MM-dd', 'HH:mm:ss' GMT'");
static DateFormat yearFormat = new SimpleDateFormat("yyyy");
static {
myDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
year = yearFormat.format(new Date());
}
public static String getDate() {
return myDateFormat.format(new Date());
}
public static String getYear() {
return year;
}
public static String ucdVersion() {
if (ucd == null) setUCD();
return ucdVersion;
}
public static UCD ucd() {
if (ucd == null) setUCD();
return ucd;
}
public static Normalizer nfc() {
if (ucd == null) setUCD();
return nfc;
}
public static Normalizer nfd() {
if (ucd == null) setUCD();
return nfd;
}
public static Normalizer nfkc() {
if (ucd == null) setUCD();
return nfkc;
}
public static Normalizer nfkd() {
if (ucd == null) setUCD();
return nfkd;
}
public static Normalizer nf(int index) {
if (ucd == null) setUCD();
return nf[index];
}
/**
* @param lineValue
*/
public static void setYear(String lineValue) {
year = lineValue;
}
}