diff options
Diffstat (limited to 'base/util/src/netscape/security/util/ASN1CharsetProvider.java')
-rw-r--r-- | base/util/src/netscape/security/util/ASN1CharsetProvider.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/base/util/src/netscape/security/util/ASN1CharsetProvider.java b/base/util/src/netscape/security/util/ASN1CharsetProvider.java new file mode 100644 index 000000000..1de1c3c48 --- /dev/null +++ b/base/util/src/netscape/security/util/ASN1CharsetProvider.java @@ -0,0 +1,30 @@ +package netscape.security.util; + +import java.nio.charset.Charset; +import java.nio.charset.spi.CharsetProvider; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +public class ASN1CharsetProvider extends CharsetProvider { + + protected Map<String, Charset> charsets = new HashMap<String, Charset>(); + + public ASN1CharsetProvider() { + addCharset(new PrintableCharset()); + addCharset(new IA5Charset()); + addCharset(new UniversalCharset()); + } + + public Iterator<Charset> charsets() { + return charsets.values().iterator(); + } + + public Charset charsetForName(String charsetName) { + return charsets.get(charsetName); + } + + public void addCharset(Charset cs) { + charsets.put(cs.name(), cs); + } +} |