* @version $Revision: 1.1.2.1 $ $Date: 2005/01/18 07:20:36 $
*/
public abstract class UnicodeCorrector {
- private static final Map correctorMap = new HashMap();
+ private static final Map<String, Class<? extends UnicodeCorrector>> correctorMap = new HashMap<>();
static {
// x-sjis-cp932等でおかしく変換されたUnicodeを他のエンコーディングで
// 出力する場合です
*/
public static UnicodeCorrector getInstance(String enc)
throws UnsupportedEncodingException {
- Class correctorClass = (Class)correctorMap.get(enc.toLowerCase());
+ Class<? extends UnicodeCorrector> correctorClass = correctorMap.get(enc.toLowerCase());
if (correctorClass == null) {
throw new UnsupportedEncodingException(enc);
}
try {
- return (UnicodeCorrector)correctorClass.newInstance();
+ return correctorClass.newInstance();
} catch (Exception e) {
throw new UnsupportedEncodingException(
correctorClass + " cannot get newInstance.\n" + e);
* in case of different result size.
*/
public char[] correct(char cbuf[], int off, int len) {
- StringBuffer buf = new StringBuffer();
+ StringBuilder buf = new StringBuilder();
for (int i = off; i < len; i++) {
buf.append(correct(cbuf[i]));
}
}
public String correct(String s) {
- StringBuffer buf = new StringBuffer();
+ StringBuilder buf = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
buf.append(correct(s.charAt(i)));
}
* @param enc 対応するエンコーディング名
* @param correctorClass UnicodeCorrectorサブクラスのClassオブジェクト
*/
- public static void addCorrector(String enc, Class correctorClass) {
+ public static void addCorrector(String enc, Class<? extends UnicodeCorrector> correctorClass) {
if (!correctorClass.isInstance(UnicodeCorrector.class)) {
throw new IllegalArgumentException(
"Corrector is not UnicodeCorrector type.");