1 6 21 22 package de.schlichtherle.nio.charset.spi; 23 24 import de.schlichtherle.nio.charset.IBM437Charset; 25 26 import java.nio.charset.Charset ; 27 import java.util.Arrays ; 28 import java.util.Collection ; 29 import java.util.Collections ; 30 import java.util.HashMap ; 31 import java.util.Iterator ; 32 import java.util.Map ; 33 34 41 public class CharsetProvider extends java.nio.charset.spi.CharsetProvider { 42 43 private static final Map name2charset; 44 private static final Collection charsets; 45 46 static { 47 charsets = Collections.unmodifiableCollection( 48 Arrays.asList(new Charset[] { new IBM437Charset() })); 49 50 name2charset = new HashMap (); 51 for (Iterator i = charsets.iterator(); i.hasNext(); ) { 52 final Charset cs = (Charset) i.next(); 53 name2charset.put(cs.name().toLowerCase(), cs); 54 for (Iterator j = cs.aliases().iterator(); j.hasNext(); ) 55 name2charset.put(((String ) j.next()).toLowerCase(), cs); 56 } 57 } 58 59 public Charset charsetForName(String charset) { 60 return (Charset) name2charset.get(charset.toLowerCase()); 61 } 62 63 public Iterator charsets() { 64 return charsets.iterator(); 65 } 66 } 67 | Popular Tags |