blob: 0479223fd91fcd1963aeca098830961e4a8ccaa5 [file] [log] [blame]
/**
*******************************************************************************
* Copyright (C) 1996-2005, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*
*******************************************************************************
*/
package com.ibm.icu4jni.charset;
import java.nio.charset.Charset;
import java.nio.charset.spi.CharsetProvider;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.SortedMap;
import java.util.TreeMap;
public final class CharsetProviderICU extends CharsetProvider {
public CharsetProviderICU() {
}
@Override
public Charset charsetForName(String charsetName) {
return NativeConverter.charsetForName(charsetName);
}
@Override
public Iterator<Charset> charsets() {
ArrayList<Charset> result = new ArrayList<Charset>();
for (String charsetName : NativeConverter.getAvailable()) {
result.add(charsetForName(charsetName));
}
return result.iterator();
}
/**
* Implements Charset.availableCharsets.
*/
public SortedMap<String, Charset> initAvailableCharsets() {
SortedMap<String, Charset> result =
new TreeMap<String, Charset>(String.CASE_INSENSITIVE_ORDER);
for (String charset : NativeConverter.getAvailable()) {
if (!result.containsKey(charset)) {
result.put(charset, charsetForName(charset));
}
}
return result;
}
}