/** * Copyright 2012 Perforce Software Inc., All Rights Reserved. */ package com.perforce.p4java.charset; import java.nio.charset.Charset; import java.nio.charset.spi.CharsetProvider; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; /** * CharsetProvider implementation which makes available the charsets provided by * Perforce. */ public class PerforceCharsetProvider extends CharsetProvider { private static final String CHARSET_NAME = "P4ShiftJIS"; private Charset charset = null; private static Map<String, Charset> charsetNameMap = new HashMap<String, Charset>(); /** * Instantiate a charset object. */ public PerforceCharsetProvider() { this.charset = new PerforceShiftJISCharset(CHARSET_NAME, new String[] { "P4-ShiftJIS", "p4shiftjis", "p4-shiftjis" }); charsetNameMap.put(this.charset.name(), this.charset); for (Iterator<String> aliases = this.charset.aliases().iterator(); aliases.hasNext();) { charsetNameMap.put((String)aliases.next(), this.charset); } } /** * Called by Charset static methods to find a particular named Charset. */ public Charset charsetForName(String charsetName) { if (charsetNameMap.containsKey(charsetName)) { return (this.charset); } return (null); } /** * Return an Iterator over the set of Charset objects we provide. */ public Iterator<Charset> charsets() { HashSet<Charset> set = new HashSet<Charset>(); set.add(this.charset); return (set.iterator()); } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 19903 | stuartrowe |
Branching //guest/perforce_software/p4java/... to //guest/stuartrowe/p4java/... |
||
//guest/perforce_software/p4java/r14.1/src/main/java/com/perforce/p4java/charset/PerforceCharsetProvider.java | |||||
#1 | 12541 | Matt Attaway | Initial add of the 14.1 p4java source code |