Mercurial > 510Connectbot
comparison src/org/tn5250j/encoding/JavaCodePageFactory.java @ 112:77ac18bc1b2f
cleanup java formatting
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Wed, 18 Jun 2014 13:03:01 -0700 |
parents | ab8d2f6c5847 |
children |
comparison
equal
deleted
inserted
replaced
111:6a0ad4d384ea | 112:77ac18bc1b2f |
---|---|
31 import java.nio.charset.CharsetDecoder; | 31 import java.nio.charset.CharsetDecoder; |
32 import java.nio.charset.CharsetEncoder; | 32 import java.nio.charset.CharsetEncoder; |
33 | 33 |
34 /* package */ class JavaCodePageFactory extends AbstractCodePage { | 34 /* package */ class JavaCodePageFactory extends AbstractCodePage { |
35 | 35 |
36 private final CharsetEncoder encoder; | 36 private final CharsetEncoder encoder; |
37 private final CharsetDecoder decoder; | 37 private final CharsetDecoder decoder; |
38 | 38 |
39 /* package */ JavaCodePageFactory(String encoding, CharsetEncoder encoder, CharsetDecoder decoder) { | 39 /* package */ JavaCodePageFactory(String encoding, CharsetEncoder encoder, CharsetDecoder decoder) { |
40 super(encoding); | 40 super(encoding); |
41 this.encoder = encoder; | 41 this.encoder = encoder; |
42 this.decoder = decoder; | 42 this.decoder = decoder; |
43 } | 43 } |
44 | 44 |
45 /* (non-Javadoc) | 45 /* (non-Javadoc) |
46 * @see org.tn5250j.encoding.CodePage#ebcdic2uni(int) | 46 * @see org.tn5250j.encoding.CodePage#ebcdic2uni(int) |
47 */ | 47 */ |
48 public char ebcdic2uni(int codepoint) { | 48 public char ebcdic2uni(int codepoint) { |
49 try { | 49 try { |
50 final ByteBuffer in = ByteBuffer.wrap(new byte[] { (byte) codepoint }); | 50 final ByteBuffer in = ByteBuffer.wrap(new byte[] { (byte) codepoint }); |
51 final CharBuffer out = this.decoder.decode(in); | 51 final CharBuffer out = this.decoder.decode(in); |
52 return out.get(0); | 52 return out.get(0); |
53 } catch (Exception cce) { | 53 } |
54 return ' '; | 54 catch (Exception cce) { |
55 } | 55 return ' '; |
56 } | 56 } |
57 } | |
57 | 58 |
58 /* (non-Javadoc) | 59 /* (non-Javadoc) |
59 * @see org.tn5250j.encoding.CodePage#uni2ebcdic(char) | 60 * @see org.tn5250j.encoding.CodePage#uni2ebcdic(char) |
60 */ | 61 */ |
61 public byte uni2ebcdic(char character) { | 62 public byte uni2ebcdic(char character) { |
62 try { | 63 try { |
63 final CharBuffer in = CharBuffer.wrap(new char[] {character}); | 64 final CharBuffer in = CharBuffer.wrap(new char[] {character}); |
64 final ByteBuffer out = this.encoder.encode(in); | 65 final ByteBuffer out = this.encoder.encode(in); |
65 return out.get(0); | 66 return out.get(0); |
66 } catch (Exception cce) { | 67 } |
67 return 0x0; | 68 catch (Exception cce) { |
68 } | 69 return 0x0; |
69 } | 70 } |
71 } | |
70 | 72 |
71 /** | 73 /** |
72 * @param encoding | 74 * @param encoding |
73 * @return A new {@link CodePage} object OR null, if not available. | 75 * @return A new {@link CodePage} object OR null, if not available. |
74 */ | 76 */ |
75 /* package */ static ICodePage getCodePage(final String encoding) { | 77 /* package */ static ICodePage getCodePage(final String encoding) { |
76 CharsetDecoder dec = null; | 78 CharsetDecoder dec = null; |
77 CharsetEncoder enc = null; | 79 CharsetEncoder enc = null; |
78 try { | 80 |
79 final Charset cs = java.nio.charset.Charset.forName(encoding); | 81 try { |
80 dec = cs.newDecoder(); | 82 final Charset cs = java.nio.charset.Charset.forName(encoding); |
81 enc = cs.newEncoder(); | 83 dec = cs.newDecoder(); |
82 } catch (Exception e) { | 84 enc = cs.newEncoder(); |
83 enc = null; | 85 } |
84 dec = null; | 86 catch (Exception e) { |
85 } | 87 enc = null; |
86 if ((enc != null) && (dec != null)) { | 88 dec = null; |
87 return new JavaCodePageFactory(encoding, enc, dec); | 89 } |
88 } | 90 |
89 return null; | 91 if ((enc != null) && (dec != null)) { |
90 } | 92 return new JavaCodePageFactory(encoding, enc, dec); |
93 } | |
94 | |
95 return null; | |
96 } | |
91 | 97 |
92 } | 98 } |