• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2 *******************************************************************************
3 * Copyright (C) 1996-2005, International Business Machines Corporation and    *
4 * others. All Rights Reserved.                                                *
5 *******************************************************************************
6 *
7 *******************************************************************************
8 */
9 
10 package com.android.icu.charset;
11 
12 import java.nio.charset.Charset;
13 import java.nio.charset.CharsetDecoder;
14 import java.nio.charset.CharsetEncoder;
15 
16 /**
17  * This class is used from native code associated with {@link NativeConverter}.
18  */
19 public final class CharsetICU extends Charset {
20     private final String icuCanonicalName;
21 
22     /**
23      * Called by native codes.
24      */
CharsetICU(String canonicalName, String icuCanonName, String[] aliases)25     protected CharsetICU(String canonicalName, String icuCanonName, String[] aliases) {
26          super(canonicalName, aliases);
27          icuCanonicalName = icuCanonName;
28     }
29 
30     @Override
newDecoder()31     public CharsetDecoder newDecoder() {
32         return CharsetDecoderICU.newInstance(this, icuCanonicalName);
33     }
34 
35     @Override
newEncoder()36     public CharsetEncoder newEncoder() {
37         return CharsetEncoderICU.newInstance(this, icuCanonicalName);
38     }
39 
40     @Override
contains(Charset cs)41     public boolean contains(Charset cs) {
42         if (cs == null) {
43             return false;
44         } else if (this.equals(cs)) {
45             return true;
46         }
47         return NativeConverter.contains(this.name(), cs.name());
48     }
49 }
50