/*
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package org.apache.harmony.luni.util;

import java.util.HashMap;

public class HistoricalNamesUtil {
    private static HashMap<String, String> historicalNames = new HashMap<String, String>();

    static {
        historicalNames.put("Big5-HKSCS", "Big5_HKSCS");
        historicalNames.put("EUC-JP", "EUC_JP");
        historicalNames.put("EUC-KR", "EUC_KR");
        historicalNames.put("GB2312", "EUC_CN");
        historicalNames.put("IBM-Thai", "Cp838");
        historicalNames.put("IBM00858", "Cp858");
        historicalNames.put("IBM01140", "Cp1140");
        historicalNames.put("IBM01141", "Cp1141");
        historicalNames.put("IBM01142", "Cp1142");
        historicalNames.put("IBM01143", "Cp1143");
        historicalNames.put("IBM01144", "Cp1144");
        historicalNames.put("IBM01145", "Cp1145");
        historicalNames.put("IBM01146", "Cp1146");
        historicalNames.put("IBM01147", "Cp1147");
        historicalNames.put("IBM01148", "Cp1148");
        historicalNames.put("IBM01149", "Cp1149");
        historicalNames.put("IBM037", "Cp037");
        historicalNames.put("IBM1026", "Cp1026");
        historicalNames.put("IBM1047", "Cp1047");
        historicalNames.put("IBM273", "Cp273");
        historicalNames.put("IBM277", "Cp277");
        historicalNames.put("IBM278", "Cp278");
        historicalNames.put("IBM280", "Cp280");
        historicalNames.put("IBM284", "Cp284");
        historicalNames.put("IBM285", "Cp285");
        historicalNames.put("IBM297", "Cp297");
        historicalNames.put("IBM420", "Cp420");
        historicalNames.put("IBM424", "Cp424");
        historicalNames.put("IBM437", "Cp437");
        historicalNames.put("IBM500", "Cp500");
        historicalNames.put("IBM775", "Cp775");
        historicalNames.put("IBM850", "Cp850");
        historicalNames.put("IBM852", "Cp852");
        historicalNames.put("IBM855", "Cp855");
        historicalNames.put("IBM857", "Cp857");
        historicalNames.put("IBM860", "Cp860");
        historicalNames.put("IBM861", "Cp861");
        historicalNames.put("IBM862", "Cp862");
        historicalNames.put("IBM863", "Cp863");
        historicalNames.put("IBM864", "Cp864");
        historicalNames.put("IBM865", "Cp865");
        historicalNames.put("IBM866", "Cp866");
        historicalNames.put("IBM868", "Cp868");
        historicalNames.put("IBM869", "Cp869");
        historicalNames.put("IBM870", "Cp870");
        historicalNames.put("IBM871", "Cp871");
        historicalNames.put("IBM918", "Cp918");
        historicalNames.put("ISO-2022-CN", "ISO2022CN");
        historicalNames.put("ISO-2022-JP", "ISO2022JP");
        historicalNames.put("ISO-2022-KR", "ISO2022KR");
        historicalNames.put("ISO-8859-1", "ISO8859_1");
        historicalNames.put("ISO-8859-13", "ISO8859_13");
        historicalNames.put("ISO-8859-15", "ISO8859_15");
        historicalNames.put("ISO-8859-2", "ISO8859_2");
        historicalNames.put("ISO-8859-3", "ISO8859_3");
        historicalNames.put("ISO-8859-4", "ISO8859_4");
        historicalNames.put("ISO-8859-5", "ISO8859_5");
        historicalNames.put("ISO-8859-6", "ISO8859_6");
        historicalNames.put("ISO-8859-7", "ISO8859_7");
        historicalNames.put("ISO-8859-8", "ISO8859_8");
        historicalNames.put("ISO-8859-9", "ISO8859_9");
        historicalNames.put("KOI8-R", "KOI8_R");
        historicalNames.put("Shift_JIS", "SJIS");
        historicalNames.put("TIS-620", "TIS620");
        historicalNames.put("US-ASCII", "ASCII");
        historicalNames.put("UTF-16BE", "UnicodeBigUnmarked");
        historicalNames.put("UTF-16LE", "UnicodeLittleUnmarked");
        historicalNames.put("UTF-8", "UTF8");
        historicalNames.put("windows-1250", "Cp1250");
        historicalNames.put("windows-1251", "Cp1251");
        historicalNames.put("windows-1252", "Cp1252");
        historicalNames.put("windows-1253", "Cp1253");
        historicalNames.put("windows-1254", "Cp1254");
        historicalNames.put("windows-1255", "Cp1255");
        historicalNames.put("windows-1256", "Cp1256");
        historicalNames.put("windows-1257", "Cp1257");
        historicalNames.put("windows-1258", "Cp1258");
        historicalNames.put("windows-31j", "MS932");
        historicalNames.put("x-Big5-Solaris", "Big5_Solaris");
        historicalNames.put("x-euc-jp-linux", "EUC_JP_LINUX");
        historicalNames.put("x-EUC-TW", "EUC_TW");
        historicalNames.put("x-eucJP-Open", "EUC_JP_Solaris");
        historicalNames.put("x-IBM1006", "Cp1006");
        historicalNames.put("x-IBM1025", "Cp1025");
        historicalNames.put("x-IBM1046", "Cp1046");
        historicalNames.put("x-IBM1097", "Cp1097");
        historicalNames.put("x-IBM1098", "Cp1098");
        historicalNames.put("x-IBM1112", "Cp1112");
        historicalNames.put("x-IBM1122", "Cp1122");
        historicalNames.put("x-IBM1123", "Cp1123");
        historicalNames.put("x-IBM1124", "Cp1124");
        historicalNames.put("x-IBM1381", "Cp1381");
        historicalNames.put("x-IBM1383", "Cp1383");
        historicalNames.put("x-IBM33722", "Cp33722");
        historicalNames.put("x-IBM737", "Cp737");
        historicalNames.put("x-IBM856", "Cp856");
        historicalNames.put("x-IBM874", "Cp874");
        historicalNames.put("x-IBM875", "Cp875");
        historicalNames.put("x-IBM921", "Cp921");
        historicalNames.put("x-IBM922", "Cp922");
        historicalNames.put("x-IBM930", "Cp930");
        historicalNames.put("x-IBM933", "Cp933");
        historicalNames.put("x-IBM935", "Cp935");
        historicalNames.put("x-IBM937", "Cp937");
        historicalNames.put("x-IBM939", "Cp939");
        historicalNames.put("x-IBM942", "Cp942");
        historicalNames.put("x-IBM942C", "Cp942C");
        historicalNames.put("x-IBM943", "Cp943");
        historicalNames.put("x-IBM943C", "Cp943C");
        historicalNames.put("x-IBM948", "Cp948");
        historicalNames.put("x-IBM949", "Cp949");
        historicalNames.put("x-IBM949C", "Cp949C");
        historicalNames.put("x-IBM950", "Cp950");
        historicalNames.put("x-IBM964", "Cp964");
        historicalNames.put("x-IBM970", "Cp970");
        historicalNames.put("x-ISCII91", "ISCII91");
        historicalNames.put("x-ISO-2022-CN-CNS", "ISO2022CN");
        historicalNames.put("x-ISO-2022-CN-GB", "ISO2022CN");
        historicalNames.put("x-JISAutoDetect", "JISAutoDetect");
        historicalNames.put("x-MacArabic", "MacArabic");
        historicalNames.put("x-MacCentralEurope", "MacCentralEurope");
        historicalNames.put("x-MacCroatian", "MacCroatian");
        historicalNames.put("x-MacCyrillic", "MacCyrillic");
        historicalNames.put("x-MacDingbat", "MacDingbat");
        historicalNames.put("x-MacGreek", "MacGreek");
        historicalNames.put("x-MacHebrew", "MacHebrew");
        historicalNames.put("x-MacIceland", "MacIceland");
        historicalNames.put("x-MacRoman", "MacRoman");
        historicalNames.put("x-MacRomania", "MacRomania");
        historicalNames.put("x-MacSymbol", "MacSymbol");
        historicalNames.put("x-MacThai", "MacThai");
        historicalNames.put("x-MacTurkish", "MacTurkish");
        historicalNames.put("x-MacUkraine", "MacUkraine");
        historicalNames.put("x-MS950-HKSCS", "MS950_HKSCS");
        historicalNames.put("x-mswin-936", "MS936");
        historicalNames.put("x-PCK", "PCK");
        historicalNames.put("x-windows-874", "MS874");
        historicalNames.put("x-windows-949", "MS949");
        historicalNames.put("x-windows-950", "MS950");
    }

    public static String getHistoricalName(String name) {
        String result = historicalNames.get(name);
        return (result != null) ? result : name;
    }
}
