Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
JDK 11 jdk.charsets.jmod - Charsets Module
JDK 11 jdk.charsets.jmod is the JMOD file for JDK 11 Charsets module.
JDK 11 Charsets module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.charsets.jmod.
JDK 11 Charsets module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Charsets module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.charsets.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ sun/nio/cs/ext/AbstractCharsetProvider.java
/*
* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package sun.nio.cs.ext;
import java.lang.ref.SoftReference;
import java.nio.charset.Charset;
import java.nio.charset.spi.CharsetProvider;
import java.util.ArrayList;
import java.util.TreeMap;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
/**
* Abstract base class for charset providers.
*
* @author Mark Reinhold
*/
public class AbstractCharsetProvider
extends CharsetProvider
{
/* Maps canonical names to class names
*/
private Map<String,String> classMap
= new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
/* Maps alias names to canonical names
*/
private Map<String,String> aliasMap
= new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
/* Maps canonical names to alias-name arrays
*/
private Map<String,String[]> aliasNameMap
= new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
/* Maps canonical names to soft references that hold cached instances
*/
private Map<String,SoftReference<Charset>> cache
= new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
private String packagePrefix;
protected AbstractCharsetProvider() {
packagePrefix = "sun.nio.cs";
}
protected AbstractCharsetProvider(String pkgPrefixName) {
packagePrefix = pkgPrefixName;
}
/* Add an entry to the given map, but only if no mapping yet exists
* for the given name.
*/
private static <K,V> void put(Map<K,V> m, K name, V value) {
if (!m.containsKey(name))
m.put(name, value);
}
private static <K,V> void remove(Map<K,V> m, K name) {
V x = m.remove(name);
assert (x != null);
}
/* Declare support for the given charset
*/
protected void charset(String name, String className, String[] aliases) {
synchronized (this) {
put(classMap, name, className);
for (int i = 0; i < aliases.length; i++)
put(aliasMap, aliases[i], name);
put(aliasNameMap, name, aliases);
cache.clear();
}
}
protected void deleteCharset(String name, String[] aliases) {
synchronized (this) {
remove(classMap, name);
for (int i = 0; i < aliases.length; i++)
remove(aliasMap, aliases[i]);
remove(aliasNameMap, name);
cache.clear();
}
}
protected boolean hasCharset(String name) {
synchronized (this) {
return classMap.containsKey(name);
}
}
/* Late initialization hook, needed by some providers
*/
protected void init() { }
private String canonicalize(String charsetName) {
String acn = aliasMap.get(charsetName);
return (acn != null) ? acn : charsetName;
}
private Charset lookup(String csn) {
// Check cache first
SoftReference<Charset> sr = cache.get(csn);
if (sr != null) {
Charset cs = sr.get();
if (cs != null)
return cs;
}
// Do we even support this charset?
String cln = classMap.get(csn);
if (cln == null)
return null;
// Instantiate the charset and cache it
try {
Class<?> c = Class.forName(packagePrefix + "." + cln,
true,
this.getClass().getClassLoader());
@SuppressWarnings("deprecation")
Charset cs = (Charset)c.newInstance();
cache.put(csn, new SoftReference<Charset>(cs));
return cs;
} catch (ClassNotFoundException x) {
return null;
} catch (IllegalAccessException x) {
return null;
} catch (InstantiationException x) {
return null;
}
}
public final Charset charsetForName(String charsetName) {
synchronized (this) {
init();
return lookup(canonicalize(charsetName));
}
}
public final Iterator<Charset> charsets() {
final ArrayList<String> ks;
synchronized (this) {
init();
ks = new ArrayList<>(classMap.keySet());
}
return new Iterator<Charset>() {
Iterator<String> i = ks.iterator();
public boolean hasNext() {
return i.hasNext();
}
public Charset next() {
String csn = i.next();
synchronized (AbstractCharsetProvider.this) {
return lookup(csn);
}
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}
public final String[] aliases(String charsetName) {
synchronized (this) {
init();
return aliasNameMap.get(charsetName);
}
}
}
⏎ sun/nio/cs/ext/AbstractCharsetProvider.java
Or download all of them as a single archive file:
File name: jdk.charsets-11.0.1-src.zip File size: 1640421 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.compiler.jmod - Compiler Tool
2020-08-13, ≈87🔥, 0💬
Popular Posts:
How to display types defined in an XML Schema file with the xs\QueryXS.java provided in the Apache X...
JDK 17 java.naming.jmod is the JMOD file for JDK 17 Naming module. JDK 17 Naming module compiled cla...
Where to find answers to frequently asked questions on Downloading and Installing ojdbc.jar - JDBC D...
Apache Log4j API provides the interface that applications should code to and provides the adapter co...
JRE 8 deploy.jar is the JAR file for JRE 8 Java Control Panel and other deploy tools. JRE (Java Runt...