// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: packimports(3) fieldsfirst lnc // Source File Name: CharacterSetFactory.java package com.icl.saxon.charcode; import com.icl.saxon.Loader; import java.io.PrintStream; import java.util.Properties; // Referenced classes of package com.icl.saxon.charcode: // ASCIICharacterSet, Latin1CharacterSet, Latin2CharacterSet, UnicodeCharacterSet, // KOI8RCharacterSet, CP1251CharacterSet, CP1250CharacterSet, CP852CharacterSet, // PluggableCharacterSet, CharacterSet public class CharacterSetFactory { public CharacterSetFactory() { } public static CharacterSet getCharacterSet(Properties properties) { /* 19*/ String s = properties.getProperty("encoding"); /* 20*/ if(s == null) /* 20*/ s = "UTF8"; /* 21*/ if(s.equalsIgnoreCase("utf-8")) /* 21*/ s = "UTF8"; /* 23*/ Object obj = makeCharacterSet(s); /* 24*/ if(obj == null) /* 25*/ obj = new ASCIICharacterSet(); /* 27*/ return ((CharacterSet) (obj)); } public static CharacterSet makeCharacterSet(String s) { /* 32*/ if(s.equalsIgnoreCase("ASCII")) /* 33*/ return new ASCIICharacterSet(); /* 34*/ if(s.equalsIgnoreCase("US-ASCII")) /* 35*/ return new ASCIICharacterSet(); /* 36*/ if(s.equalsIgnoreCase("iso-8859-1")) /* 37*/ return new Latin1CharacterSet(); /* 38*/ if(s.equalsIgnoreCase("ISO8859_1")) /* 39*/ return new Latin1CharacterSet(); /* 40*/ if(s.equalsIgnoreCase("iso-8859-2")) /* 41*/ return new Latin2CharacterSet(); /* 42*/ if(s.equalsIgnoreCase("ISO8859_2")) /* 43*/ return new Latin2CharacterSet(); /* 44*/ if(s.equalsIgnoreCase("utf-8")) /* 45*/ return new UnicodeCharacterSet(); /* 46*/ if(s.equalsIgnoreCase("UTF8")) /* 47*/ return new UnicodeCharacterSet(); /* 48*/ if(s.equalsIgnoreCase("utf-16")) /* 49*/ return new UnicodeCharacterSet(); /* 50*/ if(s.equalsIgnoreCase("utf16")) /* 51*/ return new UnicodeCharacterSet(); /* 52*/ if(s.equalsIgnoreCase("KOI8-R")) /* 53*/ return new KOI8RCharacterSet(); /* 54*/ if(s.equalsIgnoreCase("cp1251")) /* 55*/ return new CP1251CharacterSet(); /* 56*/ if(s.equalsIgnoreCase("windows-1251")) /* 57*/ return new CP1251CharacterSet(); /* 58*/ if(s.equalsIgnoreCase("cp1250")) /* 59*/ return new CP1250CharacterSet(); /* 60*/ if(s.equalsIgnoreCase("windows-1250")) /* 61*/ return new CP1250CharacterSet(); /* 62*/ if(s.equalsIgnoreCase("cp852")) /* 63*/ return new CP852CharacterSet(); /* 66*/ String s1 = null; /* 69*/ try { /* 69*/ s1 = System.getProperty("encoding." + s); /* 70*/ if(s1 == null) /* 71*/ s1 = s; /* 73*/ Object obj = Loader.getInstance(s1); /* 74*/ if(obj instanceof PluggableCharacterSet) /* 75*/ return (PluggableCharacterSet)obj; } /* 78*/ catch(Exception exception) { /* 78*/ System.err.println("Failed to load " + s1); } /* 82*/ return null; } }