package com.limegroup.gnutella.util; import java.io.IOException; /** * class that handles the removal of accents, etc. */ public class I18NConvert { /** instance */ private final static I18NConvert _instance = new I18NConvert(); /** the class that handles the conversion */ private AbstractI18NConverter _convertDelegator; /** * Empty constructor so nothing else can instantiate it. */ private I18NConvert() { try { //instantiates an implementation //of abstract class AbstractI18NConverter _convertDelegator = new I18NConvertICU(); _convertDelegator.getNorm("touch ICU code"); } catch(IOException te) { throw new ExceptionInInitializerError(te); } catch(ClassNotFoundException cnf) { throw new ExceptionInInitializerError(cnf); } } /** accessor */ public static I18NConvert instance() { return _instance; } /** delegate to AbstractI18NConverter instance */ public String getNorm(String s) { return _convertDelegator.getNorm(s); } /** * Simple composition. */ public String compose(String s) { return _convertDelegator.compose(s); } }