/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package feuille.karaoke.xfxintegration; /** * * @author The Wingate 2940 */ public class EncodingString { Encoding enc = Encoding.DEFAULT; public EncodingString(){ } public EncodingString(String s){ try{ enc = enc.getEncodingFrom(Integer.parseInt(s)); }catch(Exception exc){ enc = Encoding.DEFAULT; } } public enum Encoding{ ANSI(0,"ANSI"),DEFAULT(1,"Default"),SYMBOL(2,"Symbol"),MAC(77,"Mac"), SHIFT_JIS(128,"Shift-JIS"),HANGUL(129,"Hangeul"),JOHAB(130,"Johab"), GB2312(134,"GB2312"),BIG5(136,"Chinese BIG5"),GREEK(161,"Greek"), TURKISH(162,"Turkish"),VIETNAMESE(163,"Vietnamese"), HEBREW(177,"Hebrew"),ARABIC(178,"Arabic"),BALTIC(186,"Baltic"), RUSSIAN(204,"Russian"),THAI(222,"Thai"),EAST_EURO(238,"East european"), OEM(255,"OEM"); private int number; private String sEnco; /** <p>Create a new Encoding.<br />Crée un nouveau Encoding.</p> */ Encoding(int number, String sEnco){ this.number = number; this.sEnco = sEnco; } /** <p>Return the code of the encoding.<br /> * Retourne le code de l'encodage.</p> */ public int getNumber(){ return number; } /** <p>Return the name of the encoding.<br /> * Retourne le nom de l'encodage (en anglais).</p> */ public String getEncoding(){ return sEnco; } /** <p>Return the string "'code' - 'encoding'".<br /> * Retourne la chaine "'code' - 'encodage'".</p> */ @Override public String toString(){ return number+" - "+sEnco; } /** <p>Return the encoding with the given code.<br /> * Retourne l'encodage avec le code donné.</p> */ public Encoding getEncodingFrom(int number){ Encoding e; switch(number){ case 0: e=Encoding.ANSI; break; case 1: e=Encoding.DEFAULT; break; case 2: e=Encoding.SYMBOL; break; case 77: e=Encoding.MAC; break; case 128: e=Encoding.SHIFT_JIS; break; case 129: e=Encoding.HANGUL; break; case 130: e=Encoding.JOHAB; break; case 134: e=Encoding.GB2312; break; case 136: e=Encoding.BIG5; break; case 161: e=Encoding.GREEK; break; case 162: e=Encoding.TURKISH; break; case 163: e=Encoding.VIETNAMESE; break; case 177: e=Encoding.HEBREW; break; case 178: e=Encoding.ARABIC; break; case 186: e=Encoding.BALTIC; break; case 204: e=Encoding.RUSSIAN; break; case 222: e=Encoding.THAI; break; case 238: e=Encoding.EAST_EURO; break; case 255: e=Encoding.OEM; break; default: e=Encoding.DEFAULT; break; } return e; } } public void setSelectedEncoding(String s){ try{ enc = enc.getEncodingFrom(Integer.parseInt(s)); }catch(Exception exc){ enc = Encoding.DEFAULT; } } public void setSelectedEncoding(Encoding enc){ this.enc = enc; } public String getSelectedEncoding(){ return Integer.toString(enc.getNumber()); } @Override public String toString(){ return Integer.toString(enc.getNumber()); } }