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 17 jdk.charsets.jmod - Charsets Module
JDK 17 jdk.charsets.jmod is the JMOD file for JDK 17 Charsets module.
JDK 17 Charsets module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\jdk.charsets.jmod.
JDK 17 Charsets module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Charsets module source code files are stored in \fyicenter\jdk-17.0.5\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, 2021, 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.concat(".");
}
/* 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.concat(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-17.0.5-src.zip File size: 2039497 bytes Release date: 2022-09-13 Download
⇒ JDK 17 jdk.compiler.jmod - Compiler Tool
2023-10-15, ≈68🔥, 0💬
Popular Posts:
What JAR files are required to run dom\Counter.java provided in the Apache Xerces package? You can f...
JLayer is a library that decodes/plays/converts MPEG 1/2/2.5 Layer 1/2/3 (i.e. MP3) in real time for...
JDK 17 jdk.compiler.jmod is the JMOD file for JDK 17 Compiler tool, which can be invoked by the "jav...
What Is jtds-1.2.2.jar? jtds-1.2.2.jar is the JAR files of jTDS Java library 1.2.2, which is a JDBC ...
commons-io-1.4.jar is the JAR file for Commons IO 1.4, which is a library of utilities to assist wit...