mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8080901: Replace package.html files with package-info.java in the java.base module
Reviewed-by: lancea, alanb, vinnie
This commit is contained in:
parent
4612edcf52
commit
0de6f9f413
39 changed files with 1187 additions and 1549 deletions
|
@ -0,0 +1,101 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This package provides methods to read files from a JAR file and to
|
||||||
|
* transform them to a more compact transfer format called Pack200.
|
||||||
|
* It also provides methods to receive the transmitted data and expand
|
||||||
|
* it into a JAR file equivalent to the original JAR file.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* The {@code pack} methods may be used by application developers who
|
||||||
|
* wish to deploy large JARs on the web. The {@code unpack} methods
|
||||||
|
* may be used by deployment applications such as Java Web Start and
|
||||||
|
* Java Plugin.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* In typical use, the packed output should be further compressed
|
||||||
|
* using a suitable tool such as gzip or
|
||||||
|
* {@code java.util.zip.GZIPOutputStream}. The resulting file (with
|
||||||
|
* a suffix ".pack.gz") should be hosted on a HTTP/1.1 compliant
|
||||||
|
* server, which will be capable of handling "Accept-Encoding", as
|
||||||
|
* specified by the HTTP 1.1 RFC2616 specification.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* <b>NOTE:</b> It is recommended that the original ".jar" file be
|
||||||
|
* hosted in addition to the ".pack.gz" file, so that older client
|
||||||
|
* implementations will continue to work reliably. (On-demand
|
||||||
|
* compression by the server is not recommended.)
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* When a client application requests a ".jar" file (call it
|
||||||
|
* "Large.jar"), the client will transmit the headers
|
||||||
|
* "Content-Type=application/x-java-archive" as well as
|
||||||
|
* "Accept-Encoding=pack200-gzip". This indicates to the server that
|
||||||
|
* the client application desires an version of the file encoded with
|
||||||
|
* Pack200 and further compressed with gzip.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* The server implementation will typically check for the existence of
|
||||||
|
* "Large.pack.gz". If that file is available, the server will
|
||||||
|
* transmit it with the headers "Content-Encoding=pack200-gzip" and
|
||||||
|
* "Content-Type=application/x-java-archive".
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* If the ".pack.gz" file, is not available, then the server will
|
||||||
|
* transmit the original ".jar" with "Content-Encoding=null" and
|
||||||
|
* "Content-Type=application/x-java-archive".
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* A MIME type of "application/x-java-pack200" may be specified by the
|
||||||
|
* client application to indicate a ".pack" file is required.
|
||||||
|
* However, this has limited capability, and is not recommended.
|
||||||
|
*
|
||||||
|
* <h2> Package Specification</h2>
|
||||||
|
* Network Transfer Format Specification :<a href="http://jcp.org/en/jsr/detail?id=200">
|
||||||
|
* http://jcp.org/en/jsr/detail?id=200</a>
|
||||||
|
*
|
||||||
|
* <h2> Related Documentation</h2>
|
||||||
|
* For overviews, tutorials, examples, guides, and tool documentation, please
|
||||||
|
* see:
|
||||||
|
* <ul>
|
||||||
|
*
|
||||||
|
* <li>
|
||||||
|
* Jar File Specification :<a href="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html">
|
||||||
|
* http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html</a></li>
|
||||||
|
*
|
||||||
|
* <li>
|
||||||
|
* Class File Specification: Chapter 4 of
|
||||||
|
* <em>The Java™ Virtual Machine Specification</em>
|
||||||
|
*
|
||||||
|
* <li>
|
||||||
|
* Hypertext Transfer Protocol -- HTTP/1.1 : <a href="http://www.ietf.org/rfc/rfc2616.txt">
|
||||||
|
* http://www.ietf.org/rfc/rfc2616.txt
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* <li>
|
||||||
|
* @since 1.5</li>
|
||||||
|
*/
|
||||||
|
package com.sun.java.util.jar.pack;
|
|
@ -1,104 +0,0 @@
|
||||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
</head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
<p>
|
|
||||||
This package provides methods to read files from a JAR file and
|
|
||||||
to transform them to a more compact transfer format called Pack200.
|
|
||||||
It also provides methods to receive the transmitted data and expand
|
|
||||||
it into a JAR file equivalent to the original JAR file.
|
|
||||||
|
|
||||||
<p>
|
|
||||||
The <tt>pack</tt> methods may be used by application developers
|
|
||||||
who wish to deploy large JARs on the web. The <tt>unpack</tt> methods may be used
|
|
||||||
by deployment applications such as Java Web Start and Java Plugin.
|
|
||||||
|
|
||||||
<p>
|
|
||||||
In typical use, the packed output should be further compressed using
|
|
||||||
a suitable tool such as gzip or <tt>java.util.zip.GZIPOutputStream</tt>.
|
|
||||||
The resulting file (with a suffix ".pack.gz") should be hosted on a HTTP/1.1
|
|
||||||
compliant server, which will be capable of handling "Accept-Encoding",
|
|
||||||
as specified by the HTTP 1.1 RFC2616 specification.
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<b>NOTE:</b> It is recommended that the original ".jar" file be hosted
|
|
||||||
in addition to the ".pack.gz" file, so that older client implementations
|
|
||||||
will continue to work reliably.
|
|
||||||
(On-demand compression by the server is not recommended.)
|
|
||||||
|
|
||||||
<p>
|
|
||||||
When a client application requests a ".jar" file (call it "Large.jar"),
|
|
||||||
the client will transmit the headers
|
|
||||||
"Content-Type=application/x-java-archive" as well as "Accept-Encoding=pack200-gzip".
|
|
||||||
This indicates to the server that the client application desires an version
|
|
||||||
of the file encoded with Pack200 and further compressed with gzip.
|
|
||||||
|
|
||||||
<p>
|
|
||||||
The server implementation will typically check for the existence of "Large.pack.gz".
|
|
||||||
If that file is available, the server will transmit it with the headers
|
|
||||||
"Content-Encoding=pack200-gzip" and "Content-Type=application/x-java-archive".
|
|
||||||
|
|
||||||
<p>
|
|
||||||
If the ".pack.gz" file, is not available, then the server will transmit
|
|
||||||
the original ".jar"
|
|
||||||
with "Content-Encoding=null" and "Content-Type=application/x-java-archive".
|
|
||||||
|
|
||||||
<p>
|
|
||||||
A MIME type of "application/x-java-pack200" may be specified by the
|
|
||||||
client application to indicate a ".pack" file is required.
|
|
||||||
However, this has limited capability, and is not recommended.
|
|
||||||
|
|
||||||
<h2> Package Specification</h2>
|
|
||||||
Network Transfer Format Specification :<a href="http://jcp.org/en/jsr/detail?id=200">
|
|
||||||
http://jcp.org/en/jsr/detail?id=200</a>
|
|
||||||
|
|
||||||
<h2> Related Documentation</h2>
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please
|
|
||||||
see:
|
|
||||||
<ul>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
Jar File Specification :<a href="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html">
|
|
||||||
http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html</a></li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
Class File Specification: Chapter 4 of
|
|
||||||
<em>The Java™ Virtual Machine Specification</em>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
Hypertext Transfer Protocol -- HTTP/1.1 : <a href="http://www.ietf.org/rfc/rfc2616.txt">
|
|
||||||
http://www.ietf.org/rfc/rfc2616.txt
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
@since 1.5</li>
|
|
||||||
|
|
||||||
<br><!-- Put @see and @since tags down here. -->
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides classes related to creating and configuring secure socket
|
||||||
|
* factories. These classes are used with the Sun reference
|
||||||
|
* implementation of the Java Secure Socket Extension (JSSE).
|
||||||
|
*/
|
||||||
|
package com.sun.net.ssl;
|
|
@ -1,56 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
|
|
||||||
|
|
||||||
Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Provides classes related to creating and configuring secure socket factories.
|
|
||||||
These classes are used with the Sun reference implementation of the Java
|
|
||||||
Secure Socket Extension (JSSE).
|
|
||||||
<!--
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
49
jdk/src/java.base/share/classes/java/io/package-info.java
Normal file
49
jdk/src/java.base/share/classes/java/io/package-info.java
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides for system input and output through data streams,
|
||||||
|
* serialization and the file system.
|
||||||
|
*
|
||||||
|
* Unless otherwise noted, passing a null argument to a constructor or
|
||||||
|
* method in any class or interface in this package will cause a
|
||||||
|
* {@code NullPointerException} to be thrown.
|
||||||
|
*
|
||||||
|
* <h2>Package Specification</h2>
|
||||||
|
* <ul>
|
||||||
|
* <li><a href="../../../platform/serialization/spec/serialTOC.html"> Java Object Serialization Specification </a>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* <h2>Related Documentation</h2>
|
||||||
|
*
|
||||||
|
* For overviews, tutorials, examples, guides, and tool documentation,
|
||||||
|
* please see:
|
||||||
|
* <ul>
|
||||||
|
* <li><a href="../../../technotes/guides/serialization">Serialization Enhancements</a>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
package java.io;
|
|
@ -1,52 +0,0 @@
|
||||||
<!--
|
|
||||||
Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Provides for system input and output through data streams,
|
|
||||||
serialization and the file system.
|
|
||||||
|
|
||||||
Unless otherwise noted, passing a null argument to a constructor
|
|
||||||
or method in any class or interface in this package will cause a
|
|
||||||
<tt>NullPointerException</tt> to be thrown.
|
|
||||||
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
<ul>
|
|
||||||
<li><a href="../../../platform/serialization/spec/serialTOC.html"> Java Object Serialization Specification </a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation,
|
|
||||||
please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="../../../technotes/guides/serialization">Serialization Enhancements</a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
@since 1.0
|
|
||||||
</body>
|
|
||||||
</html>
|
|
140
jdk/src/java.base/share/classes/java/lang/ref/package-info.java
Normal file
140
jdk/src/java.base/share/classes/java/lang/ref/package-info.java
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides reference-object classes, which support a limited degree
|
||||||
|
* of interaction with the garbage collector. A program may use a
|
||||||
|
* reference object to maintain a reference to some other object in
|
||||||
|
* such a way that the latter object may still be reclaimed by the
|
||||||
|
* collector. A program may also arrange to be notified some time
|
||||||
|
* after the collector has determined that the reachability of a given
|
||||||
|
* object has changed.
|
||||||
|
*
|
||||||
|
*<h2>Package Specification</h2>
|
||||||
|
*
|
||||||
|
* A <em>reference object</em> encapsulates a reference to some other
|
||||||
|
* object so that the reference itself may be examined and manipulated
|
||||||
|
* like any other object. Three types of reference objects are
|
||||||
|
* provided, each weaker than the last: <em>soft</em>, <em>weak</em>,
|
||||||
|
* and <em>phantom</em>. Each type corresponds to a different level
|
||||||
|
* of reachability, as defined below. Soft references are for
|
||||||
|
* implementing memory-sensitive caches, weak references are for
|
||||||
|
* implementing canonicalizing mappings that do not prevent their keys
|
||||||
|
* (or values) from being reclaimed, and phantom references are for
|
||||||
|
* scheduling pre-mortem cleanup actions in a more flexible way than
|
||||||
|
* is possible with the Java finalization mechanism.
|
||||||
|
*
|
||||||
|
* <p> Each reference-object type is implemented by a subclass of the
|
||||||
|
* abstract base {@link java.lang.ref.Reference} class.
|
||||||
|
* An instance of one of these subclasses encapsulates a single
|
||||||
|
* reference to a particular object, called the <em>referent</em>.
|
||||||
|
* Every reference object provides methods for getting and clearing
|
||||||
|
* the reference. Aside from the clearing operation reference objects
|
||||||
|
* are otherwise immutable, so no {@code set} operation is
|
||||||
|
* provided. A program may further subclass these subclasses, adding
|
||||||
|
* whatever fields and methods are required for its purposes, or it
|
||||||
|
* may use these subclasses without change.
|
||||||
|
*
|
||||||
|
* <h3>Notification</h3>
|
||||||
|
*
|
||||||
|
* A program may request to be notified of changes in an object's
|
||||||
|
* reachability by <em>registering</em> an appropriate reference
|
||||||
|
* object with a <em>reference queue</em> at the time the reference
|
||||||
|
* object is created. Some time after the garbage collector
|
||||||
|
* determines that the reachability of the referent has changed to the
|
||||||
|
* value corresponding to the type of the reference, it will add the
|
||||||
|
* reference to the associated queue. At this point, the reference is
|
||||||
|
* considered to be <em>enqueued</em>. The program may remove
|
||||||
|
* references from a queue either by polling or by blocking until a
|
||||||
|
* reference becomes available. Reference queues are implemented by
|
||||||
|
* the {@link java.lang.ref.ReferenceQueue} class.
|
||||||
|
*
|
||||||
|
* <p> The relationship between a registered reference object and its
|
||||||
|
* queue is one-sided. That is, a queue does not keep track of the
|
||||||
|
* references that are registered with it. If a registered reference
|
||||||
|
* becomes unreachable itself, then it will never be enqueued. It is
|
||||||
|
* the responsibility of the program using reference objects to ensure
|
||||||
|
* that the objects remain reachable for as long as the program is
|
||||||
|
* interested in their referents.
|
||||||
|
*
|
||||||
|
* <p> While some programs will choose to dedicate a thread to
|
||||||
|
* removing reference objects from one or more queues and processing
|
||||||
|
* them, this is by no means necessary. A tactic that often works
|
||||||
|
* well is to examine a reference queue in the course of performing
|
||||||
|
* some other fairly-frequent action. For example, a hashtable that
|
||||||
|
* uses weak references to implement weak keys could poll its
|
||||||
|
* reference queue each time the table is accessed. This is how the
|
||||||
|
* {@link java.util.WeakHashMap} class works. Because
|
||||||
|
* the {@link java.lang.ref.ReferenceQueue#poll
|
||||||
|
* ReferenceQueue.poll} method simply checks an internal data
|
||||||
|
* structure, this check will add little overhead to the hashtable
|
||||||
|
* access methods.
|
||||||
|
*
|
||||||
|
* <h3>Automatically-cleared references</h3>
|
||||||
|
*
|
||||||
|
* Soft and weak references are automatically cleared by the collector
|
||||||
|
* before being added to the queues with which they are registered, if
|
||||||
|
* any. Therefore soft and weak references need not be registered
|
||||||
|
* with a queue in order to be useful, while phantom references do.
|
||||||
|
* An object that is reachable via phantom references will remain so
|
||||||
|
* until all such references are cleared or themselves become
|
||||||
|
* unreachable.
|
||||||
|
*
|
||||||
|
* <a name="reachability"></a>
|
||||||
|
* <h3>Reachability</h3>
|
||||||
|
*
|
||||||
|
* Going from strongest to weakest, the different levels of
|
||||||
|
* reachability reflect the life cycle of an object. They are
|
||||||
|
* operationally defined as follows:
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
*
|
||||||
|
* <li> An object is <em>strongly reachable</em> if it can be reached
|
||||||
|
* by some thread without traversing any reference objects. A
|
||||||
|
* newly-created object is strongly reachable by the thread that
|
||||||
|
* created it.
|
||||||
|
*
|
||||||
|
* <li> An object is <em>softly reachable</em> if it is not strongly
|
||||||
|
* reachable but can be reached by traversing a soft reference.
|
||||||
|
*
|
||||||
|
* <li> An object is <em>weakly reachable</em> if it is neither
|
||||||
|
* strongly nor softly reachable but can be reached by traversing a
|
||||||
|
* weak reference. When the weak references to a weakly-reachable
|
||||||
|
* object are cleared, the object becomes eligible for finalization.
|
||||||
|
*
|
||||||
|
* <li> An object is <em>phantom reachable</em> if it is neither
|
||||||
|
* strongly, softly, nor weakly reachable, it has been finalized, and
|
||||||
|
* some phantom reference refers to it.
|
||||||
|
*
|
||||||
|
* <li> Finally, an object is <em>unreachable</em>, and therefore
|
||||||
|
* eligible for reclamation, when it is not reachable in any of the
|
||||||
|
* above ways.
|
||||||
|
*
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @author Mark Reinhold
|
||||||
|
* @since 1.2
|
||||||
|
*/
|
||||||
|
package java.lang.ref;
|
|
@ -1,147 +0,0 @@
|
||||||
<!--
|
|
||||||
Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
|
|
||||||
Provides reference-object classes, which support a limited degree of
|
|
||||||
interaction with the garbage collector. A program may use a reference object
|
|
||||||
to maintain a reference to some other object in such a way that the latter
|
|
||||||
object may still be reclaimed by the collector. A program may also arrange to
|
|
||||||
be notified some time after the collector has determined that the reachability
|
|
||||||
of a given object has changed.
|
|
||||||
|
|
||||||
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
A <em>reference object</em> encapsulates a reference to some other object so
|
|
||||||
that the reference itself may be examined and manipulated like any other
|
|
||||||
object. Three types of reference objects are provided, each weaker than the
|
|
||||||
last: <em>soft</em>, <em>weak</em>, and <em>phantom</em>. Each type
|
|
||||||
corresponds to a different level of reachability, as defined below. Soft
|
|
||||||
references are for implementing memory-sensitive caches, weak references are
|
|
||||||
for implementing canonicalizing mappings that do not prevent their keys (or
|
|
||||||
values) from being reclaimed, and phantom references are for scheduling
|
|
||||||
pre-mortem cleanup actions in a more flexible way than is possible with the
|
|
||||||
Java finalization mechanism.
|
|
||||||
|
|
||||||
<p> Each reference-object type is implemented by a subclass of the abstract
|
|
||||||
base <code>{@link java.lang.ref.Reference}</code> class. An instance of one of
|
|
||||||
these subclasses encapsulates a single reference to a particular object, called
|
|
||||||
the <em>referent</em>. Every reference object provides methods for getting and
|
|
||||||
clearing the reference. Aside from the clearing operation reference objects
|
|
||||||
are otherwise immutable, so no <code>set</code> operation is provided. A
|
|
||||||
program may further subclass these subclasses, adding whatever fields and
|
|
||||||
methods are required for its purposes, or it may use these subclasses without
|
|
||||||
change.
|
|
||||||
|
|
||||||
|
|
||||||
<h3>Notification</h3>
|
|
||||||
|
|
||||||
A program may request to be notified of changes in an object's reachability by
|
|
||||||
<em>registering</em> an appropriate reference object with a <em>reference
|
|
||||||
queue</em> at the time the reference object is created. Some time after the
|
|
||||||
garbage collector determines that the reachability of the referent has changed
|
|
||||||
to the value corresponding to the type of the reference, it will add the
|
|
||||||
reference to the associated queue. At this point, the reference is considered
|
|
||||||
to be <em>enqueued</em>. The program may remove references from a queue either
|
|
||||||
by polling or by blocking until a reference becomes available. Reference
|
|
||||||
queues are implemented by the <code>{@link java.lang.ref.ReferenceQueue}</code>
|
|
||||||
class.
|
|
||||||
|
|
||||||
<p> The relationship between a registered reference object and its queue is
|
|
||||||
one-sided. That is, a queue does not keep track of the references that are
|
|
||||||
registered with it. If a registered reference becomes unreachable itself, then
|
|
||||||
it will never be enqueued. It is the responsibility of the program using
|
|
||||||
reference objects to ensure that the objects remain reachable for as long as
|
|
||||||
the program is interested in their referents.
|
|
||||||
|
|
||||||
<p> While some programs will choose to dedicate a thread to removing reference
|
|
||||||
objects from one or more queues and processing them, this is by no means
|
|
||||||
necessary. A tactic that often works well is to examine a reference queue in
|
|
||||||
the course of performing some other fairly-frequent action. For example, a
|
|
||||||
hashtable that uses weak references to implement weak keys could poll its
|
|
||||||
reference queue each time the table is accessed. This is how the <code>{@link
|
|
||||||
java.util.WeakHashMap}</code> class works. Because the <code>{@link
|
|
||||||
java.lang.ref.ReferenceQueue#poll ReferenceQueue.poll}</code> method simply
|
|
||||||
checks an internal data structure, this check will add little overhead to the
|
|
||||||
hashtable access methods.
|
|
||||||
|
|
||||||
|
|
||||||
<h3>Automatically-cleared references</h3>
|
|
||||||
|
|
||||||
Soft and weak references are automatically cleared by the collector before
|
|
||||||
being added to the queues with which they are registered, if any. Therefore
|
|
||||||
soft and weak references need not be registered with a queue in order to be
|
|
||||||
useful, while phantom references do. An object that is reachable via phantom
|
|
||||||
references will remain so until all such references are cleared or themselves
|
|
||||||
become unreachable.
|
|
||||||
|
|
||||||
|
|
||||||
<a name="reachability"></a>
|
|
||||||
<h3>Reachability</h3>
|
|
||||||
|
|
||||||
Going from strongest to weakest, the different levels of reachability reflect
|
|
||||||
the life cycle of an object. They are operationally defined as follows:
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
|
|
||||||
<li> An object is <em>strongly reachable</em> if it can be reached by some
|
|
||||||
thread without traversing any reference objects. A newly-created object is
|
|
||||||
strongly reachable by the thread that created it.
|
|
||||||
|
|
||||||
<li> An object is <em>softly reachable</em> if it is not strongly reachable but
|
|
||||||
can be reached by traversing a soft reference.
|
|
||||||
|
|
||||||
<li> An object is <em>weakly reachable</em> if it is neither strongly nor
|
|
||||||
softly reachable but can be reached by traversing a weak reference. When the
|
|
||||||
weak references to a weakly-reachable object are cleared, the object becomes
|
|
||||||
eligible for finalization.
|
|
||||||
|
|
||||||
<li> An object is <em>phantom reachable</em> if it is neither strongly, softly,
|
|
||||||
nor weakly reachable, it has been finalized, and some phantom reference refers
|
|
||||||
to it.
|
|
||||||
|
|
||||||
<li> Finally, an object is <em>unreachable</em>, and therefore eligible for
|
|
||||||
reclamation, when it is not reachable in any of the above ways.
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
@author Mark Reinhold
|
|
||||||
@since 1.2
|
|
||||||
|
|
||||||
<!--
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
-->
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Service-provider classes for the {@link java.nio.channels}
|
||||||
|
* package.
|
||||||
|
*
|
||||||
|
* <p> Only developers who are defining new selector providers or
|
||||||
|
* asynchronous channel providers should need to make direct use of
|
||||||
|
* this package. </p>
|
||||||
|
*
|
||||||
|
* <p> Unless otherwise noted, passing a {@code null} argument to a
|
||||||
|
* constructor or method in any class or interface in this package
|
||||||
|
* will cause a {@link java.lang.NullPointerException
|
||||||
|
* NullPointerException} to be thrown.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @since 1.4
|
||||||
|
* @author Mark Reinhold
|
||||||
|
* @author JSR-51 Expert Group
|
||||||
|
*/
|
||||||
|
package java.nio.channels.spi;
|
|
@ -1,45 +0,0 @@
|
||||||
<!--
|
|
||||||
Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!doctype html public "-//IETF//DTD HTML//EN">
|
|
||||||
<html>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Service-provider classes for the <tt>{@link java.nio.channels}</tt> package.
|
|
||||||
|
|
||||||
<p> Only developers who are defining new selector providers or asynchronous
|
|
||||||
channel providers should need to make direct use of this package. </p>
|
|
||||||
|
|
||||||
<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
|
|
||||||
or method in any class or interface in this package will cause a {@link
|
|
||||||
java.lang.NullPointerException NullPointerException} to be thrown.
|
|
||||||
|
|
||||||
|
|
||||||
@since 1.4
|
|
||||||
@author Mark Reinhold
|
|
||||||
@author JSR-51 Expert Group
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,90 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines charsets, decoders, and encoders, for translating between
|
||||||
|
* bytes and Unicode characters.
|
||||||
|
*
|
||||||
|
* <blockquote><table cellspacing=1 cellpadding=0 summary="Summary of charsets, decoders, and encoders in this package">
|
||||||
|
* <tr><th align="left">Class name</th><th align="left">Description</th></tr>
|
||||||
|
* <tr><td valign=top>{@link java.nio.charset.Charset}</td>
|
||||||
|
* <td>A named mapping between characters<br>and bytes</td></tr>
|
||||||
|
* <tr><td valign=top>{@link java.nio.charset.CharsetDecoder}</td>
|
||||||
|
* <td>Decodes bytes into characters</td></tr>
|
||||||
|
* <tr><td valign=top>{@link java.nio.charset.CharsetEncoder} </td>
|
||||||
|
* <td>Encodes characters into bytes</td></tr>
|
||||||
|
* <tr><td valign=top>{@link java.nio.charset.CoderResult} </td>
|
||||||
|
* <td>Describes coder results</td></tr>
|
||||||
|
* <tr><td valign=top>{@link java.nio.charset.CodingErrorAction} </td>
|
||||||
|
* <td>Describes actions to take when<br>coding errors are detected</td></tr>
|
||||||
|
*
|
||||||
|
* </table></blockquote>
|
||||||
|
*
|
||||||
|
* <p> A <i>charset</i> is named mapping between sequences of
|
||||||
|
* sixteen-bit Unicode characters and sequences of bytes, in the sense
|
||||||
|
* defined in <a
|
||||||
|
* href="http://www.ietf.org/rfc/rfc2278.txt"><i>RFC 2278</i></a>.
|
||||||
|
* A <i>decoder</i> is an engine which transforms bytes in a specific
|
||||||
|
* charset into characters, and an <i>encoder</i> is an engine which
|
||||||
|
* transforms characters into bytes. Encoders and decoders operate on
|
||||||
|
* byte and character buffers. They are collectively referred to as
|
||||||
|
* <i>coders</i>.
|
||||||
|
*
|
||||||
|
* <p> The {@link java.nio.charset.Charset} class defines methods for
|
||||||
|
* creating coders for a given charset and for retrieving the various
|
||||||
|
* names associated with a charset. It also defines static methods
|
||||||
|
* for testing whether a particular charset is supported, for locating
|
||||||
|
* charset instances by name, and for constructing a map that contains
|
||||||
|
* every charset for which support is available in the current Java
|
||||||
|
* virtual machine.
|
||||||
|
*
|
||||||
|
* <p> Most users will not use these classes directly; instead they
|
||||||
|
* will use the existing charset-related constructors and methods in
|
||||||
|
* the {@link java.lang.String} class, together with the existing
|
||||||
|
* {@link java.io.InputStreamReader} and {@link
|
||||||
|
* java.io.OutputStreamWriter} classes, all of whose implementations
|
||||||
|
* have been reworked to make use of the charset facilities defined in
|
||||||
|
* this package. A small number of changes have been made to the
|
||||||
|
* {@link java.io.InputStreamReader} and {@link
|
||||||
|
* java.io.OutputStreamWriter} classes in order to allow explicit
|
||||||
|
* charset objects to be specified in the construction of instances of
|
||||||
|
* those classes.
|
||||||
|
*
|
||||||
|
* <p> Support for new charsets can be made available via the
|
||||||
|
* interface defined in the {@link
|
||||||
|
* java.nio.charset.spi.CharsetProvider} class in the <tt>{@link
|
||||||
|
* java.nio.charset.spi}</tt> package.
|
||||||
|
*
|
||||||
|
* <p> Unless otherwise noted, passing a <tt>null</tt> argument to a
|
||||||
|
* constructor or method in any class or interface in this package
|
||||||
|
* will cause a {@link java.lang.NullPointerException
|
||||||
|
* NullPointerException} to be thrown.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @since 1.4
|
||||||
|
* @author Mark Reinhold
|
||||||
|
* @author JSR-51 Expert Group
|
||||||
|
*/
|
||||||
|
package java.nio.charset;
|
|
@ -1,88 +0,0 @@
|
||||||
<!--
|
|
||||||
Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!doctype html public "-//IETF//DTD HTML//EN">
|
|
||||||
<html>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
|
|
||||||
Defines charsets, decoders, and encoders, for translating between bytes and
|
|
||||||
Unicode characters.
|
|
||||||
|
|
||||||
<blockquote><table cellspacing=1 cellpadding=0 summary="Summary of charsets, decoders, and encoders in this package">
|
|
||||||
<tr><th><p align="left">Class name</p></th><th><p align="left">Description</p></th></tr>
|
|
||||||
<tr><td valign=top><tt>{@link java.nio.charset.Charset}</tt></td>
|
|
||||||
<td>A named mapping between characters<br>and bytes</td></tr>
|
|
||||||
<tr><td valign=top><tt>{@link java.nio.charset.CharsetDecoder}</tt></td>
|
|
||||||
<td>Decodes bytes into characters</td></tr>
|
|
||||||
<tr><td valign=top><tt>{@link java.nio.charset.CharsetEncoder} </tt></td>
|
|
||||||
<td>Encodes characters into bytes</td></tr>
|
|
||||||
<tr><td valign=top><tt>{@link java.nio.charset.CoderResult} </tt></td>
|
|
||||||
<td>Describes coder results</td></tr>
|
|
||||||
<tr><td valign=top><tt>{@link java.nio.charset.CodingErrorAction} </tt></td>
|
|
||||||
<td>Describes actions to take when<br>coding errors are detected</td></tr>
|
|
||||||
|
|
||||||
</table></blockquote>
|
|
||||||
|
|
||||||
<p> A <i>charset</i> is named mapping between sequences of sixteen-bit Unicode
|
|
||||||
characters and sequences of bytes, in the sense defined in <a
|
|
||||||
href="http://www.ietf.org/rfc/rfc2278.txt"><i>RFC 2278</i></a>. A
|
|
||||||
<i>decoder</i> is an engine which transforms bytes in a specific charset into
|
|
||||||
characters, and an <i>encoder</i> is an engine which transforms characters into
|
|
||||||
bytes. Encoders and decoders operate on byte and character buffers. They are
|
|
||||||
collectively referred to as <i>coders</i>.
|
|
||||||
|
|
||||||
<p> The {@link java.nio.charset.Charset} class defines methods for creating
|
|
||||||
coders for a given charset and for retrieving the various names associated with
|
|
||||||
a charset. It also defines static methods for testing whether a particular
|
|
||||||
charset is supported, for locating charset instances by name, and for
|
|
||||||
constructing a map that contains every charset for which support is available
|
|
||||||
in the current Java virtual machine.
|
|
||||||
|
|
||||||
<p> Most users will not use these classes directly; instead they will use the
|
|
||||||
existing charset-related constructors and methods in the {@link
|
|
||||||
java.lang.String} class, together with the existing {@link
|
|
||||||
java.io.InputStreamReader} and {@link java.io.OutputStreamWriter} classes, all
|
|
||||||
of whose implementations have been reworked to make use of the charset
|
|
||||||
facilities defined in this package. A small number of changes have been made
|
|
||||||
to the {@link java.io.InputStreamReader} and {@link java.io.OutputStreamWriter}
|
|
||||||
classes in order to allow explicit charset objects to be specified in the
|
|
||||||
construction of instances of those classes.
|
|
||||||
|
|
||||||
<p> Support for new charsets can be made available via the interface defined in
|
|
||||||
the {@link java.nio.charset.spi.CharsetProvider} class in the <tt>{@link
|
|
||||||
java.nio.charset.spi}</tt> package.
|
|
||||||
|
|
||||||
<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
|
|
||||||
or method in any class or interface in this package will cause a {@link
|
|
||||||
java.lang.NullPointerException NullPointerException} to be thrown.
|
|
||||||
|
|
||||||
|
|
||||||
@since 1.4
|
|
||||||
@author Mark Reinhold
|
|
||||||
@author JSR-51 Expert Group
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Service-provider classes for the {@link java.nio.charset} package.
|
||||||
|
*
|
||||||
|
* <p> Only developers who are defining new charsets should need to
|
||||||
|
* make direct use of this package. </p>
|
||||||
|
*
|
||||||
|
* <p> Unless otherwise noted, passing a {@code null} argument to a
|
||||||
|
* constructor or method in any class or interface in this package
|
||||||
|
* will cause a {@link java.lang.NullPointerException
|
||||||
|
* NullPointerException} to be thrown.
|
||||||
|
*
|
||||||
|
* @since 1.4
|
||||||
|
* @author Mark Reinhold
|
||||||
|
* @author JSR-51 Expert Group
|
||||||
|
*/
|
||||||
|
package java.nio.charset.spi;
|
|
@ -1,45 +0,0 @@
|
||||||
<!--
|
|
||||||
Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!doctype html public "-//IETF//DTD HTML//EN">
|
|
||||||
<html>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Service-provider classes for the <tt>{@link java.nio.charset}</tt> package.
|
|
||||||
|
|
||||||
<p> Only developers who are defining new charsets should need to make direct
|
|
||||||
use of this package. </p>
|
|
||||||
|
|
||||||
<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
|
|
||||||
or method in any class or interface in this package will cause a {@link
|
|
||||||
java.lang.NullPointerException NullPointerException} to be thrown.
|
|
||||||
|
|
||||||
|
|
||||||
@since 1.4
|
|
||||||
@author Mark Reinhold
|
|
||||||
@author JSR-51 Expert Group
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
141
jdk/src/java.base/share/classes/java/nio/package-info.java
Normal file
141
jdk/src/java.base/share/classes/java/nio/package-info.java
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines buffers, which are containers for data, and provides an
|
||||||
|
* overview of the other NIO packages.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <p> The central abstractions of the NIO APIs are: </p>
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
*
|
||||||
|
* <li><p> <a href="#buffers"><i>Buffers</i></a>, which are containers for data;
|
||||||
|
* </p></li>
|
||||||
|
*
|
||||||
|
* <li><p> <a
|
||||||
|
* href="charset/package-summary.html"><i>Charsets</i></a> and their
|
||||||
|
* associated <i>decoders</i> and <i>encoders</i>, <br> which
|
||||||
|
* translate between bytes and Unicode characters; </p></li>
|
||||||
|
*
|
||||||
|
* <li><p> <a
|
||||||
|
* href="channels/package-summary.html"><i>Channels</i></a> of
|
||||||
|
* various types, which represent connections <br> to entities
|
||||||
|
* capable of performing I/O operations; and </p></li>
|
||||||
|
*
|
||||||
|
* <li><p> <i>Selectors</i> and <i>selection keys</i>, which
|
||||||
|
* together with <br> <i>selectable channels</i> define a <a
|
||||||
|
* href="channels/package-summary.html#multiplex">multiplexed,
|
||||||
|
* non-blocking <br> I/O</a> facility. </p></li>
|
||||||
|
*
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* <p> The <tt>java.nio</tt> package defines the buffer classes, which
|
||||||
|
* are used throughout the NIO APIs. The charset API is defined in
|
||||||
|
* the {@link java.nio.charset} package, and the channel and selector
|
||||||
|
* APIs are defined in the {@link java.nio.channels} package. Each of
|
||||||
|
* these subpackages has its own service-provider (SPI) subpackage,
|
||||||
|
* the contents of which can be used to extend the platform's default
|
||||||
|
* implementations or to construct alternative implementations.
|
||||||
|
*
|
||||||
|
* <a name="buffers"> </a>
|
||||||
|
*
|
||||||
|
* <blockquote><table cellspacing=1 cellpadding=0 summary="Description of the various buffers">
|
||||||
|
* <tr><th align="left">Buffers</th><th align="left">Description</th></tr>
|
||||||
|
* <tr><td valign=top><tt>{@link java.nio.Buffer}</tt></td>
|
||||||
|
* <td>Position, limit, and capacity;
|
||||||
|
* <br>clear, flip, rewind, and mark/reset</td></tr>
|
||||||
|
* <tr><td valign=top><tt> {@link java.nio.ByteBuffer}</tt></td>
|
||||||
|
* <td>Get/put, compact, views; allocate, wrap</td></tr>
|
||||||
|
* <tr><td valign=top><tt> {@link java.nio.MappedByteBuffer} </tt></td>
|
||||||
|
* <td>A byte buffer mapped to a file</td></tr>
|
||||||
|
* <tr><td valign=top><tt> {@link java.nio.CharBuffer}</tt></td>
|
||||||
|
* <td>Get/put, compact; allocate, wrap</td></tr>
|
||||||
|
* <tr><td valign=top><tt> {@link java.nio.DoubleBuffer}</tt></td>
|
||||||
|
* <td> ' '</td></tr>
|
||||||
|
* <tr><td valign=top><tt> {@link java.nio.FloatBuffer}</tt></td>
|
||||||
|
* <td> ' '</td></tr>
|
||||||
|
* <tr><td valign=top><tt> {@link java.nio.IntBuffer}</tt></td>
|
||||||
|
* <td> ' '</td></tr>
|
||||||
|
* <tr><td valign=top><tt> {@link java.nio.LongBuffer}</tt></td>
|
||||||
|
* <td> ' '</td></tr>
|
||||||
|
* <tr><td valign=top><tt> {@link java.nio.ShortBuffer}</tt></td>
|
||||||
|
* <td> ' '</td></tr>
|
||||||
|
* <tr><td valign=top><tt>{@link java.nio.ByteOrder}</tt></td>
|
||||||
|
* <td>Typesafe enumeration for byte orders</td></tr>
|
||||||
|
* </table></blockquote>
|
||||||
|
*
|
||||||
|
* <p> A <i>buffer</i> is a container for a fixed amount of data of a
|
||||||
|
* specific primitive type. In addition to its content a buffer has a
|
||||||
|
* <i>position</i>, which is the index of the next element to be read
|
||||||
|
* or written, and a <i>limit</i>, which is the index of the first
|
||||||
|
* element that should not be read or written. The base {@link
|
||||||
|
* java.nio.Buffer} class defines these properties as well as methods
|
||||||
|
* for <i>clearing</i>, <i>flipping</i>, and <i>rewinding</i>, for
|
||||||
|
* <i>marking</i> the current position, and for <i>resetting</i> the
|
||||||
|
* position to the previous mark.
|
||||||
|
*
|
||||||
|
* <p> There is a buffer class for each non-boolean primitive type.
|
||||||
|
* Each class defines a family of <i>get</i> and <i>put</i> methods
|
||||||
|
* for moving data out of and in to a buffer, methods for
|
||||||
|
* <i>compacting</i>, <i>duplicating</i>, and <i>slicing</i> a buffer,
|
||||||
|
* and static methods for <i>allocating</i> a new buffer as well as
|
||||||
|
* for <i>wrapping</i> an existing array into a buffer.
|
||||||
|
*
|
||||||
|
* <p> Byte buffers are distinguished in that they can be used as the
|
||||||
|
* sources and targets of I/O operations. They also support several
|
||||||
|
* features not found in the other buffer classes:
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
*
|
||||||
|
* <li><p> A byte buffer can be allocated as a <a
|
||||||
|
* href="ByteBuffer.html#direct"> <i>direct</i></a> buffer, in which
|
||||||
|
* case the Java virtual machine will make a best effort to perform
|
||||||
|
* native I/O operations directly upon it. </p></li>
|
||||||
|
*
|
||||||
|
* <li><p> A byte buffer can be created by {@link
|
||||||
|
* java.nio.channels.FileChannel#map <i>mapping</i>} a region of a
|
||||||
|
* file directly into memory, in which case a few additional
|
||||||
|
* file-related operations defined in the {@link
|
||||||
|
* java.nio.MappedByteBuffer} class are available. </p></li>
|
||||||
|
*
|
||||||
|
* <li><p> A byte buffer provides access to its content as either a
|
||||||
|
* heterogeneous or homogeneous sequence of <a
|
||||||
|
* href="ByteBuffer.html#bin"><i>binary data</i></a> of any
|
||||||
|
* non-boolean primitive type, in either big-endian or little-endian
|
||||||
|
* <a href="ByteOrder.html">byte order</a>. </p></li>
|
||||||
|
*
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* <p> Unless otherwise noted, passing a <tt>null</tt> argument to a
|
||||||
|
* constructor or method in any class or interface in this package
|
||||||
|
* will cause a {@link java.lang.NullPointerException
|
||||||
|
* NullPointerException} to be thrown.
|
||||||
|
*
|
||||||
|
* @since 1.4
|
||||||
|
* @author Mark Reinhold
|
||||||
|
* @author JSR-51 Expert Group
|
||||||
|
*/
|
||||||
|
package java.nio;
|
|
@ -1,139 +0,0 @@
|
||||||
<!--
|
|
||||||
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!doctype html public "-//IETF//DTD HTML//EN">
|
|
||||||
<html>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Defines buffers, which are containers for data, and provides an overview of the
|
|
||||||
other NIO packages.
|
|
||||||
|
|
||||||
|
|
||||||
<p> The central abstractions of the NIO APIs are: </p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
|
|
||||||
<li><p> <a href="#buffers"><i>Buffers</i></a>, which are containers for data;
|
|
||||||
</p></li>
|
|
||||||
|
|
||||||
<li><p> <a href="charset/package-summary.html"><i>Charsets</i></a> and their
|
|
||||||
associated <i>decoders</i> and <i>encoders</i>, <br> which translate between
|
|
||||||
bytes and Unicode characters; </p></li>
|
|
||||||
|
|
||||||
<li><p> <a href="channels/package-summary.html"><i>Channels</i></a> of
|
|
||||||
various types, which represent connections <br> to entities capable of
|
|
||||||
performing I/O operations; and </p></li>
|
|
||||||
|
|
||||||
<li><p> <i>Selectors</i> and <i>selection keys</i>, which together with <br>
|
|
||||||
<i>selectable channels</i> define a <a
|
|
||||||
href="channels/package-summary.html#multiplex">multiplexed, non-blocking <br>
|
|
||||||
I/O</a> facility. </p></li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p> The <tt>java.nio</tt> package defines the buffer classes, which are used
|
|
||||||
throughout the NIO APIs. The charset API is defined in the {@link
|
|
||||||
java.nio.charset} package, and the channel and selector APIs are defined in the
|
|
||||||
{@link java.nio.channels} package. Each of these subpackages has its own
|
|
||||||
service-provider (SPI) subpackage, the contents of which can be used to extend
|
|
||||||
the platform's default implementations or to construct alternative
|
|
||||||
implementations.
|
|
||||||
|
|
||||||
|
|
||||||
<a name="buffers"> </a>
|
|
||||||
|
|
||||||
<blockquote><table cellspacing=1 cellpadding=0 summary="Description of the various buffers">
|
|
||||||
<tr><th><p align="left">Buffers</p></th><th><p align="left">Description</p></th></tr>
|
|
||||||
<tr><td valign=top><tt>{@link java.nio.Buffer}</tt></td>
|
|
||||||
<td>Position, limit, and capacity;
|
|
||||||
<br>clear, flip, rewind, and mark/reset</td></tr>
|
|
||||||
<tr><td valign=top><tt> {@link java.nio.ByteBuffer}</tt></td>
|
|
||||||
<td>Get/put, compact, views; allocate, wrap</td></tr>
|
|
||||||
<tr><td valign=top><tt> {@link java.nio.MappedByteBuffer} </tt></td>
|
|
||||||
<td>A byte buffer mapped to a file</td></tr>
|
|
||||||
<tr><td valign=top><tt> {@link java.nio.CharBuffer}</tt></td>
|
|
||||||
<td>Get/put, compact; allocate, wrap</td></tr>
|
|
||||||
<tr><td valign=top><tt> {@link java.nio.DoubleBuffer}</tt></td>
|
|
||||||
<td> ' '</td></tr>
|
|
||||||
<tr><td valign=top><tt> {@link java.nio.FloatBuffer}</tt></td>
|
|
||||||
<td> ' '</td></tr>
|
|
||||||
<tr><td valign=top><tt> {@link java.nio.IntBuffer}</tt></td>
|
|
||||||
<td> ' '</td></tr>
|
|
||||||
<tr><td valign=top><tt> {@link java.nio.LongBuffer}</tt></td>
|
|
||||||
<td> ' '</td></tr>
|
|
||||||
<tr><td valign=top><tt> {@link java.nio.ShortBuffer}</tt></td>
|
|
||||||
<td> ' '</td></tr>
|
|
||||||
<tr><td valign=top><tt>{@link java.nio.ByteOrder}</tt></td>
|
|
||||||
<td>Typesafe enumeration for byte orders</td></tr>
|
|
||||||
</table></blockquote>
|
|
||||||
|
|
||||||
<p> A <i>buffer</i> is a container for a fixed amount of data of a specific
|
|
||||||
primitive type. In addition to its content a buffer has a <i>position</i>,
|
|
||||||
which is the index of the next element to be read or written, and a
|
|
||||||
<i>limit</i>, which is the index of the first element that should not be read
|
|
||||||
or written. The base {@link java.nio.Buffer} class defines these properties as
|
|
||||||
well as methods for <i>clearing</i>, <i>flipping</i>, and <i>rewinding</i>, for
|
|
||||||
<i>marking</i> the current position, and for <i>resetting</i> the position to
|
|
||||||
the previous mark.
|
|
||||||
|
|
||||||
<p> There is a buffer class for each non-boolean primitive type. Each class
|
|
||||||
defines a family of <i>get</i> and <i>put</i> methods for moving data out of
|
|
||||||
and in to a buffer, methods for <i>compacting</i>, <i>duplicating</i>, and
|
|
||||||
<i>slicing</i> a buffer, and static methods for <i>allocating</i> a new buffer
|
|
||||||
as well as for <i>wrapping</i> an existing array into a buffer.
|
|
||||||
|
|
||||||
<p> Byte buffers are distinguished in that they can be used as the sources and
|
|
||||||
targets of I/O operations. They also support several features not found in the
|
|
||||||
other buffer classes:
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
|
|
||||||
<li><p> A byte buffer can be allocated as a <a href="ByteBuffer.html#direct">
|
|
||||||
<i>direct</i></a> buffer, in which case the Java virtual machine will make a
|
|
||||||
best effort to perform native I/O operations directly upon it. </p></li>
|
|
||||||
|
|
||||||
<li><p> A byte buffer can be created by {@link
|
|
||||||
java.nio.channels.FileChannel#map <i>mapping</i>} a region of a
|
|
||||||
file directly into memory, in which case a few additional file-related
|
|
||||||
operations defined in the {@link java.nio.MappedByteBuffer} class are
|
|
||||||
available. </p></li>
|
|
||||||
|
|
||||||
<li><p> A byte buffer provides access to its content as either a heterogeneous
|
|
||||||
or homogeneous sequence of <a href="ByteBuffer.html#bin"><i>binary data</i></a>
|
|
||||||
of any non-boolean primitive type, in either big-endian or little-endian <a
|
|
||||||
href="ByteOrder.html">byte order</a>. </p></li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p> Unless otherwise noted, passing a <tt>null</tt> argument to a constructor
|
|
||||||
or method in any class or interface in this package will cause a {@link
|
|
||||||
java.lang.NullPointerException NullPointerException} to be thrown.
|
|
||||||
|
|
||||||
@since 1.4
|
|
||||||
@author Mark Reinhold
|
|
||||||
@author JSR-51 Expert Group
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
47
jdk/src/java.base/share/classes/java/text/package-info.java
Normal file
47
jdk/src/java.base/share/classes/java/text/package-info.java
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides classes and interfaces for handling text, dates, numbers,
|
||||||
|
* and messages in a manner independent of natural languages. This
|
||||||
|
* means your main application or applet can be written to be
|
||||||
|
* language-independent, and it can rely upon separate,
|
||||||
|
* dynamically-linked localized resources. This allows the flexibility
|
||||||
|
* of adding localizations for new localizations at any time.
|
||||||
|
*
|
||||||
|
* <p>These classes are capable of formatting dates, numbers, and
|
||||||
|
* messages, parsing; searching and sorting strings; and iterating
|
||||||
|
* over characters, words, sentences, and line breaks. This package
|
||||||
|
* contains three main groups of classes and interfaces:
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li>Classes for iteration over text
|
||||||
|
* <li>Classes for formatting and parsing
|
||||||
|
* <li>Classes for string collation
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @since 1.1
|
||||||
|
*/
|
||||||
|
package java.text;
|
|
@ -1,65 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Provides classes and interfaces for handling text, dates, numbers, and messages
|
|
||||||
in a manner independent of natural languages. This means your main application
|
|
||||||
or applet can be written to be language-independent, and it can rely upon
|
|
||||||
separate, dynamically-linked localized resources. This allows the flexibility
|
|
||||||
of adding localizations for new localizations at any time.
|
|
||||||
<p>
|
|
||||||
These classes are capable of formatting dates, numbers, and messages, parsing;
|
|
||||||
searching and sorting strings; and iterating over characters, words, sentences,
|
|
||||||
and line breaks. This package contains three main groups of classes and
|
|
||||||
interfaces:
|
|
||||||
<ul>
|
|
||||||
<li>Classes for iteration over text
|
|
||||||
<li>Classes for formatting and parsing
|
|
||||||
<li>Classes for string collation
|
|
||||||
</ul>
|
|
||||||
<!--
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
-->
|
|
||||||
|
|
||||||
@since 1.1
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Service provider classes for the classes in the java.text package.
|
||||||
|
*
|
||||||
|
* @since 1.6
|
||||||
|
*/
|
||||||
|
package java.text.spi;
|
|
@ -1,50 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
Service provider classes for the classes in the java.text package.
|
|
||||||
<!--
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
-->
|
|
||||||
|
|
||||||
@since 1.6
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides classes for reading and writing the JAR (Java ARchive)
|
||||||
|
* file format, which is based on the standard ZIP file format with an
|
||||||
|
* optional manifest file. The manifest stores meta-information about
|
||||||
|
* the JAR file contents and is also used for signing JAR files.
|
||||||
|
*
|
||||||
|
* <h2>Package Specification</h2>
|
||||||
|
*
|
||||||
|
* The <code>java.util.jar</code> package is based on the following
|
||||||
|
* specifications:
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li><b>Info-ZIP file format</b> - The JAR format is based on the Info-ZIP
|
||||||
|
* file format. See
|
||||||
|
* <a href="../zip/package-summary.html#package_description">java.util.zip
|
||||||
|
* package description.</a> <p>
|
||||||
|
* In JAR files, all file names must be encoded in the UTF-8 encoding.
|
||||||
|
* <li><a href="../../../../technotes/guides/jar/jar.html">
|
||||||
|
* Manifest and Signature Specification</a> - The manifest format specification.
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @since 1.2
|
||||||
|
*/
|
||||||
|
package java.util.jar;
|
|
@ -1,62 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Provides classes for reading and writing the JAR (Java ARchive) file
|
|
||||||
format, which is based on the standard ZIP file format with an
|
|
||||||
optional manifest file. The manifest stores meta-information about the
|
|
||||||
JAR file contents and is also used for signing JAR files.
|
|
||||||
|
|
||||||
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
The <code>java.util.jar</code> package is based on the following specifications:
|
|
||||||
<ul>
|
|
||||||
<li><b>Info-ZIP file format</b> - The JAR format is based on the Info-ZIP
|
|
||||||
file format. See
|
|
||||||
<a href="../zip/package-summary.html#package_description">java.util.zip
|
|
||||||
package description.</a> <p>
|
|
||||||
In JAR files, all file names must be encoded in the UTF-8 encoding.
|
|
||||||
<li><a href="../../../../technotes/guides/jar/jar.html">
|
|
||||||
Manifest and Signature Specification</a> - The manifest format specification.
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
-->
|
|
||||||
|
|
||||||
@since 1.2
|
|
||||||
</body>
|
|
||||||
</html>
|
|
52
jdk/src/java.base/share/classes/java/util/package-info.java
Normal file
52
jdk/src/java.base/share/classes/java/util/package-info.java
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Contains the collections framework, legacy collection classes,
|
||||||
|
* event model, date and time facilities, internationalization, and
|
||||||
|
* miscellaneous utility classes (a string tokenizer, a random-number
|
||||||
|
* generator, and a bit array).
|
||||||
|
*
|
||||||
|
* <h2>Package Specification</h2>
|
||||||
|
* <ul>
|
||||||
|
* <li><a href="../../../technotes/guides/collections/overview.html"><b>Collections Framework Overview</b></a>
|
||||||
|
* <li><a href="../../../technotes/guides/collections/reference.html"><b>
|
||||||
|
* Collections Framework Annotated Outline</b></a>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* <h2>Related Documentation</h2>
|
||||||
|
* For overviews, tutorials, examples, guides, and tool documentation,
|
||||||
|
* please see:
|
||||||
|
* <ul>
|
||||||
|
* <li><a href="http://docs.oracle.com/javase/tutorial/collections/index.html">
|
||||||
|
* <b>Collections Framework Tutorial</b></a>
|
||||||
|
* <li><a
|
||||||
|
* href="../../../technotes/guides/collections/designfaq.html"><b>Collections
|
||||||
|
* Framework Design FAQ</b></a>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
package java.util;
|
|
@ -1,55 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Contains the collections framework, legacy collection classes, event model,
|
|
||||||
date and time facilities, internationalization, and miscellaneous utility
|
|
||||||
classes (a string tokenizer, a random-number generator, and a bit array).
|
|
||||||
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
<ul>
|
|
||||||
<li><a href="../../../technotes/guides/collections/overview.html"><b>Collections Framework Overview</b></a>
|
|
||||||
<li><a href="../../../technotes/guides/collections/reference.html"><b>
|
|
||||||
Collections Framework Annotated Outline</b></a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="http://docs.oracle.com/javase/tutorial/collections/index.html">
|
|
||||||
<b>Collections Framework Tutorial</b></a>
|
|
||||||
<li><a
|
|
||||||
href="../../../technotes/guides/collections/designfaq.html"><b>Collections
|
|
||||||
Framework Design FAQ</b></a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
@since 1.0
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Classes for matching character sequences against patterns specified
|
||||||
|
* by regular expressions.
|
||||||
|
*
|
||||||
|
* <p> An instance of the {@link java.util.regex.Pattern} class
|
||||||
|
* represents a regular expression that is specified in string form in
|
||||||
|
* a syntax similar to that used by Perl.
|
||||||
|
*
|
||||||
|
* <p> Instances of the {@link java.util.regex.Matcher} class are used
|
||||||
|
* to match character sequences against a given pattern. Input is
|
||||||
|
* provided to matchers via the {@link java.lang.CharSequence}
|
||||||
|
* interface in order to support matching against characters from a
|
||||||
|
* wide variety of input sources. </p>
|
||||||
|
*
|
||||||
|
* <p> Unless otherwise noted, passing a <tt>null</tt> argument to a
|
||||||
|
* method in any class or interface in this package will cause a
|
||||||
|
* {@link java.lang.NullPointerException NullPointerException} to be
|
||||||
|
* thrown.
|
||||||
|
*
|
||||||
|
* <h2>Related Documentation</h2>
|
||||||
|
*
|
||||||
|
* <p> An excellent tutorial and overview of regular expressions is <a
|
||||||
|
* href="http://www.oreilly.com/catalog/regex/"><i>Mastering Regular
|
||||||
|
* Expressions</i>, Jeffrey E. F. Friedl, O'Reilly and Associates,
|
||||||
|
* 1997.</a> </p>
|
||||||
|
*
|
||||||
|
* @since 1.4
|
||||||
|
* @author Mike McCloskey
|
||||||
|
* @author Mark Reinhold
|
||||||
|
*/
|
||||||
|
package java.util.regex;
|
|
@ -1,66 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Classes for matching character sequences against patterns specified by regular
|
|
||||||
expressions.
|
|
||||||
|
|
||||||
<p> An instance of the {@link java.util.regex.Pattern} class represents a
|
|
||||||
regular expression that is specified in string form in a syntax similar to
|
|
||||||
that used by Perl.
|
|
||||||
|
|
||||||
<p> Instances of the {@link java.util.regex.Matcher} class are used to match
|
|
||||||
character sequences against a given pattern. Input is provided to matchers via
|
|
||||||
the {@link java.lang.CharSequence} interface in order to support matching
|
|
||||||
against characters from a wide variety of input sources. </p>
|
|
||||||
|
|
||||||
<p> Unless otherwise noted, passing a <tt>null</tt> argument to a method
|
|
||||||
in any class or interface in this package will cause a
|
|
||||||
{@link java.lang.NullPointerException NullPointerException} to be thrown.
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
<p> An excellent tutorial and overview of regular expressions is <a
|
|
||||||
href="http://www.oreilly.com/catalog/regex/"><i>Mastering Regular
|
|
||||||
Expressions</i>, Jeffrey E. F. Friedl, O'Reilly and Associates, 1997.</a> </p>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
-->
|
|
||||||
|
|
||||||
@since 1.4
|
|
||||||
@author Mike McCloskey
|
|
||||||
@author Mark Reinhold
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Service provider classes for the classes in the java.util package.
|
||||||
|
*
|
||||||
|
* @since 1.6
|
||||||
|
*/
|
||||||
|
package java.util.spi;
|
|
@ -1,50 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
Service provider classes for the classes in the java.util package.
|
|
||||||
<!--
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
-->
|
|
||||||
|
|
||||||
@since 1.6
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides interfaces for Diffie-Hellman keys as defined in RSA
|
||||||
|
* Laboratories' PKCS #3.
|
||||||
|
*
|
||||||
|
* <P>Note that these interfaces are intended only for key
|
||||||
|
* implementations whose key material is accessible and
|
||||||
|
* available. These interfaces are not intended for key implementations
|
||||||
|
* whose key material resides in inaccessible, protected storage (such
|
||||||
|
* as in a hardware device).
|
||||||
|
*
|
||||||
|
* <P>For more developer information on how to use these interfaces,
|
||||||
|
* including information on how to design <code>Key</code> classes for
|
||||||
|
* hardware devices, please refer to the cryptographic provider
|
||||||
|
* developer guide:
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li><a href=
|
||||||
|
* "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
|
||||||
|
* <b>How to Implement a Provider for the Java™ Cryptography Architecture
|
||||||
|
* </b></a></li>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* <h2>Package Specification</h2>
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li>PKCS #3: Diffie-Hellman Key-Agreement Standard, Version 1.4,
|
||||||
|
* November 1993.</li>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* <h2>Related Documentation</h2>
|
||||||
|
*
|
||||||
|
* For further documentation, please see:
|
||||||
|
* <ul>
|
||||||
|
* <li>
|
||||||
|
* <a href=
|
||||||
|
* "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
|
||||||
|
* <b>Java™ Cryptography Architecture API Specification and Reference
|
||||||
|
* </b></a></li>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @since 1.4
|
||||||
|
*/
|
||||||
|
package javax.crypto.interfaces;
|
|
@ -1,74 +0,0 @@
|
||||||
<!--
|
|
||||||
Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Provides interfaces for Diffie-Hellman keys as defined in
|
|
||||||
RSA Laboratories' PKCS #3.
|
|
||||||
<P>
|
|
||||||
Note that these interfaces are intended only
|
|
||||||
for key implementations whose key material
|
|
||||||
is accessible and available. These
|
|
||||||
interfaces are not intended for key
|
|
||||||
implementations whose key material resides
|
|
||||||
in inaccessible, protected storage (such as
|
|
||||||
in a hardware device).
|
|
||||||
<P>
|
|
||||||
For more developer information on how to use
|
|
||||||
these interfaces, including information on
|
|
||||||
how to design <code>Key</code> classes
|
|
||||||
for hardware devices, please refer to the
|
|
||||||
cryptographic provider developer guide:
|
|
||||||
<ul>
|
|
||||||
<li><a href=
|
|
||||||
"{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
|
|
||||||
<b>How to Implement a Provider for the Java™ Cryptography Architecture
|
|
||||||
</b></a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PKCS #3: Diffie-Hellman Key-Agreement Standard, Version 1.4,
|
|
||||||
November 1993.</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For further documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href=
|
|
||||||
"{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
|
|
||||||
<b>Java™ Cryptography Architecture API Specification and Reference
|
|
||||||
</b></a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
@since 1.4
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides the classes and interfaces for cryptographic
|
||||||
|
* operations. The cryptographic operations defined in this package
|
||||||
|
* include encryption, key generation and key agreement, and Message
|
||||||
|
* Authentication Code (MAC) generation.
|
||||||
|
*
|
||||||
|
* <p>Support for encryption includes symmetric, asymmetric, block,
|
||||||
|
* and stream ciphers. This package also supports secure streams and
|
||||||
|
* sealed objects.
|
||||||
|
*
|
||||||
|
* <p>Many of the classes provided in this package are provider-based.
|
||||||
|
* The class itself defines a programming interface to which
|
||||||
|
* applications may write. The implementations themselves may then be
|
||||||
|
* written by independent third-party vendors and plugged in
|
||||||
|
* seamlessly as needed. Therefore application developers may take
|
||||||
|
* advantage of any number of provider-based implementations without
|
||||||
|
* having to add or rewrite code.
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html">
|
||||||
|
* <b>Java™ Cryptography Architecture Standard Algorithm Name
|
||||||
|
* Documentation</b></a></li>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* <h2>Related Documentation</h2>
|
||||||
|
*
|
||||||
|
* For further documentation, please see:
|
||||||
|
* <ul>
|
||||||
|
* <li>
|
||||||
|
* <a href=
|
||||||
|
* "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
|
||||||
|
* <b>Java™ Cryptography Architecture (JCA) Reference Guide
|
||||||
|
* </b></a></li>
|
||||||
|
* <li>
|
||||||
|
* <a href=
|
||||||
|
* "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
|
||||||
|
* <b>How to Implement a Provider in the Java™ Cryptography
|
||||||
|
* Architecture </b></a></li>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @since 1.4
|
||||||
|
*/
|
||||||
|
package javax.crypto;
|
|
@ -1,76 +0,0 @@
|
||||||
<!--
|
|
||||||
Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Provides the classes and interfaces for cryptographic operations. The
|
|
||||||
cryptographic operations defined in this package include encryption,
|
|
||||||
key generation and key agreement, and Message Authentication Code
|
|
||||||
(MAC) generation.
|
|
||||||
|
|
||||||
<p>Support for encryption includes symmetric, asymmetric, block, and
|
|
||||||
stream ciphers. This package also supports secure streams and sealed
|
|
||||||
objects.
|
|
||||||
|
|
||||||
<p>Many of the classes provided in this package are provider-based. The
|
|
||||||
class itself defines a programming interface to which applications may
|
|
||||||
write. The implementations themselves may then be written by
|
|
||||||
independent third-party vendors and plugged in seamlessly as needed.
|
|
||||||
Therefore application developers may take advantage of any number of
|
|
||||||
provider-based implementations without having to add or rewrite code.
|
|
||||||
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html">
|
|
||||||
<b>Java™
|
|
||||||
Cryptography Architecture Standard Algorithm Name
|
|
||||||
Documentation</b></a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For further documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href=
|
|
||||||
"{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
|
|
||||||
<b>Java™
|
|
||||||
Cryptography Architecture (JCA) Reference Guide
|
|
||||||
</b></a></li>
|
|
||||||
<li>
|
|
||||||
<a href=
|
|
||||||
"{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
|
|
||||||
<b>How to Implement a Provider in the
|
|
||||||
Java™ Cryptography Architecture
|
|
||||||
</b></a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
@since 1.4
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,74 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides classes and interfaces for key specifications and
|
||||||
|
* algorithm parameter specifications.
|
||||||
|
*
|
||||||
|
* <p>A key specification is a transparent representation of the key
|
||||||
|
* material that constitutes a key. A key may be specified in an
|
||||||
|
* algorithm-specific way, or in an algorithm-independent encoding
|
||||||
|
* format (such as ASN.1). This package contains key specifications
|
||||||
|
* for Diffie-Hellman public and private keys, as well as key
|
||||||
|
* specifications for DES, Triple DES, and PBE secret keys.
|
||||||
|
*
|
||||||
|
* <p>An algorithm parameter specification is a transparent
|
||||||
|
* representation of the sets of parameters used with an
|
||||||
|
* algorithm. This package contains algorithm parameter specifications
|
||||||
|
* for parameters used with the Diffie-Hellman, DES, Triple DES, PBE,
|
||||||
|
* RC2 and RC5 algorithms.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li>PKCS #3: Diffie-Hellman Key-Agreement Standard, Version 1.4,
|
||||||
|
* November 1993.</li>
|
||||||
|
* <li>PKCS #5: Password-Based Encryption Standard, Version 1.5,
|
||||||
|
* November 1993.</li>
|
||||||
|
* <li>Federal Information Processing Standards Publication (FIPS PUB) 46-2:
|
||||||
|
* Data Encryption Standard (DES) </li>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* <h2>Related Documentation</h2>
|
||||||
|
*
|
||||||
|
* For documentation that includes information about algorithm
|
||||||
|
* parameter and key specifications, please see:
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li>
|
||||||
|
* <a href=
|
||||||
|
* "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
|
||||||
|
* <b>Java™ Cryptography Architecture API Specification and Reference
|
||||||
|
* </b></a></li>
|
||||||
|
* <li>
|
||||||
|
* <a href=
|
||||||
|
* "{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
|
||||||
|
* <b>How to Implement a Provider for the
|
||||||
|
* Java™ Cryptography Architecture
|
||||||
|
* </b></a></li>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @since 1.4
|
||||||
|
*/
|
||||||
|
package javax.crypto.spec;
|
|
@ -1,77 +0,0 @@
|
||||||
<!--
|
|
||||||
Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Provides classes and interfaces for key specifications and algorithm
|
|
||||||
parameter specifications.
|
|
||||||
|
|
||||||
<p>A key specification is a transparent representation of the key
|
|
||||||
material that constitutes a key. A key may be specified in an
|
|
||||||
algorithm-specific way, or in an algorithm-independent encoding format
|
|
||||||
(such as ASN.1). This package contains key specifications for
|
|
||||||
Diffie-Hellman public and private keys, as well as key specifications for DES,
|
|
||||||
Triple DES, and PBE secret keys.
|
|
||||||
|
|
||||||
<p>An algorithm parameter specification is a transparent representation
|
|
||||||
of the sets of parameters used with an algorithm. This package contains
|
|
||||||
algorithm parameter specifications for parameters used with the
|
|
||||||
Diffie-Hellman, DES, Triple DES, PBE, RC2 and RC5 algorithms.
|
|
||||||
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PKCS #3: Diffie-Hellman Key-Agreement Standard, Version 1.4,
|
|
||||||
November 1993.</li>
|
|
||||||
<li>PKCS #5: Password-Based Encryption Standard, Version 1.5,
|
|
||||||
November 1993.</li>
|
|
||||||
<li>Federal Information Processing Standards Publication (FIPS PUB) 46-2:
|
|
||||||
Data Encryption Standard (DES) </li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For documentation that includes information about algorithm parameter
|
|
||||||
and key specifications, please see:
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href=
|
|
||||||
"{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html">
|
|
||||||
<b>Java™ Cryptography Architecture API Specification and Reference
|
|
||||||
</b></a></li>
|
|
||||||
<li>
|
|
||||||
<a href=
|
|
||||||
"{@docRoot}/../technotes/guides/security/crypto/HowToImplAProvider.html">
|
|
||||||
<b>How to Implement a Provider for the
|
|
||||||
Java™ Cryptography Architecture
|
|
||||||
</b></a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
@since 1.4
|
|
||||||
</body>
|
|
||||||
</html>
|
|
33
jdk/src/java.base/share/classes/javax/net/package-info.java
Normal file
33
jdk/src/java.base/share/classes/javax/net/package-info.java
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides classes for networking applications. These classes include
|
||||||
|
* factories for creating sockets. Using socket factories you can
|
||||||
|
* encapsulate socket creation and configuration behavior.
|
||||||
|
*
|
||||||
|
* @since 1.4
|
||||||
|
*/
|
||||||
|
package javax.net;
|
|
@ -1,54 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Provides classes for networking applications. These classes include
|
|
||||||
factories for creating sockets. Using socket factories you can encapsulate
|
|
||||||
socket creation and configuration behavior.
|
|
||||||
<!--
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
@since 1.4
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation. Oracle designates this
|
||||||
|
* particular file as subject to the "Classpath" exception as provided
|
||||||
|
* by Oracle in the LICENSE file that accompanied this code.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides classes for the secure socket package. Using the secure
|
||||||
|
* socket classes, you can communicate using SSL or a related security
|
||||||
|
* protocol to reliably detect any errors introduced into the network
|
||||||
|
* byte stream and to optionally encrypt the data and/or authenticate
|
||||||
|
* the communicating peers.
|
||||||
|
*
|
||||||
|
* <ul>
|
||||||
|
* <li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html">
|
||||||
|
* <b>Java™ Cryptography Architecture Standard Algorithm Name
|
||||||
|
* Documentation</b></a></li>
|
||||||
|
* </ul>
|
||||||
|
*
|
||||||
|
* @since 1.4
|
||||||
|
*/
|
||||||
|
package javax.net.ssl;
|
|
@ -1,57 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!--
|
|
||||||
Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
-->
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body bgcolor="white">
|
|
||||||
|
|
||||||
Provides classes for the secure socket package. Using the secure socket
|
|
||||||
classes, you can communicate using SSL or a related security protocol
|
|
||||||
to reliably detect any errors introduced into the network byte stream
|
|
||||||
and to optionally encrypt the data and/or authenticate the communicating peers.
|
|
||||||
|
|
||||||
<h2>Package Specification</h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html">
|
|
||||||
<b>Java™ Cryptography Architecture Standard Algorithm Name
|
|
||||||
Documentation</b></a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
<h2>Related Documentation</h2>
|
|
||||||
|
|
||||||
For overviews, tutorials, examples, guides, and tool documentation, please see:
|
|
||||||
<ul>
|
|
||||||
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
@since 1.4
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,187 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
||||||
<HTML>
|
|
||||||
<HEAD>
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License version 2 only, as
|
|
||||||
published by the Free Software Foundation. Oracle designates this
|
|
||||||
particular file as subject to the "Classpath" exception as provided
|
|
||||||
by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
accompanied this code).
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License version
|
|
||||||
2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
or visit www.oracle.com if you need additional information or have any
|
|
||||||
questions.
|
|
||||||
|
|
||||||
-->
|
|
||||||
</HEAD>
|
|
||||||
<BODY BGCOLOR="white">
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<B> Licensee impact of JDK 1.4 reflection changes </B>
|
|
||||||
|
|
||||||
</P>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Sun's JDK 1.4 contains a new implementation of java.lang.reflect which
|
|
||||||
offers substantially higher performance than previous JDKs' native
|
|
||||||
code. Licensees can at their discretion port these changes. There are
|
|
||||||
no public API or documentation changes associated with the new
|
|
||||||
reflection implementation aside from a few minor clarifications in the
|
|
||||||
specifications of Method.invoke(), Constructor.newInstance(), and a
|
|
||||||
few methods in java.lang.reflect.Field.
|
|
||||||
|
|
||||||
</P>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
The bulk of the new implementation is Java programming language code
|
|
||||||
which generates bytecodes, and is therefore portable. If licensees
|
|
||||||
desire to port it, the following JVM changes are required:
|
|
||||||
|
|
||||||
<OL>
|
|
||||||
<LI> The following four new JVM entry points must be added:
|
|
||||||
|
|
||||||
<UL>
|
|
||||||
<LI> JVM_GetClassDeclaredConstructors
|
|
||||||
<LI> JVM_GetClassDeclaredFields
|
|
||||||
<LI> JVM_GetClassDeclaredMethods
|
|
||||||
<LI> JVM_GetClassAccessFlags
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
The first three return the declared constructors, fields, and methods
|
|
||||||
for a given class, with an option to return only the public ones. They
|
|
||||||
are similar in functionality to the earlier GetClassConstructors,
|
|
||||||
GetClassFields, and GetClassMethods. JVM_GetClassDeclaredFields and
|
|
||||||
JVM_GetClassDeclaredMethods must intern the Strings for the names of
|
|
||||||
the Field and Method objects returned. The fouth returns the access
|
|
||||||
flags for a given class as marked in the class file, as opposed to in
|
|
||||||
the InnerClasses attribute if the class is an inner class, and
|
|
||||||
therefore differs from JVM_GetClassModifiers for inner classes (most
|
|
||||||
importantly, protected inner classes; see 4471811.)
|
|
||||||
|
|
||||||
<LI> The JVM's link resolver must be modified to allow all field and
|
|
||||||
method references from subclasses of sun.reflect.MagicAccessorImpl to
|
|
||||||
any other class (even to private members of other classes) to
|
|
||||||
succeed. This allows setAccessible() and its associated checks to be
|
|
||||||
implemented in Java.
|
|
||||||
|
|
||||||
<LI> The code which calls the verifier must skip verification for all
|
|
||||||
subclasses of sun.reflect.MagicAccessorImpl. (It was originally
|
|
||||||
intended that only a subset of the stub classes used for serialization
|
|
||||||
would not pass the verifier, specifically, those subclassing
|
|
||||||
SerializationConstructorAccessorImpl; see 4486457 for a case where
|
|
||||||
this does not work.)
|
|
||||||
|
|
||||||
<LI> The stack walker for security checks must be modified to skip not
|
|
||||||
only all Method.invoke() frames, but also any frames for which the
|
|
||||||
class is a subclass of sun.reflect.MethodAccessorImpl.
|
|
||||||
|
|
||||||
<LI> The JVM entry points JVM_InvokeMethod and
|
|
||||||
JVM_NewInstanceFromConstructor are currently still used because the
|
|
||||||
first invocation of the bytecode-based reflection is currently slower
|
|
||||||
than the original native code. The security checks they perform can,
|
|
||||||
however, be disabled, as they are now performed by Java programming
|
|
||||||
language code.
|
|
||||||
|
|
||||||
</OL>
|
|
||||||
|
|
||||||
</P>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
The following changes were discovered to be necessary for backward
|
|
||||||
compatibility with certain applications (see bug 4474172):
|
|
||||||
|
|
||||||
<OL>
|
|
||||||
|
|
||||||
<LI> The existing JVM entry point JVM_LatestUserDefinedLoader
|
|
||||||
(typically used in applications which rely on the 1.1 security
|
|
||||||
framework) must skip reflection-related frames in its stack walk:
|
|
||||||
specifically all frames associated with subclasses of
|
|
||||||
sun.reflect.MethodAccessorImpl and
|
|
||||||
sun.reflect.ConstructorAccessorImpl.
|
|
||||||
|
|
||||||
<LI> The new reflection implementation can cause class loading to
|
|
||||||
occur in previously-unexpected places (namely during reflective
|
|
||||||
calls). This can cause class loaders which contain subtle bugs to
|
|
||||||
break. In general it is not possible to guarantee complete backward
|
|
||||||
bug compatibility, but one kind of bug has been observed more than
|
|
||||||
once: the inability of a user-defined loader to handle delegation to
|
|
||||||
it for a class it has already loaded. The new reflection
|
|
||||||
implementation is predicated on delegation working properly, as it
|
|
||||||
loads stub classes into newly-fabricated class loaders of type
|
|
||||||
sun.reflect.DelegatingClassLoader, one stub class per loader, to allow
|
|
||||||
unloading of the stub classes to occur more quickly. To handle this
|
|
||||||
kind of bug, the JVM's internal class lookup mechanism must be
|
|
||||||
slightly modified to check for instances of
|
|
||||||
sun.reflect.DelegatingClassLoader as the incoming class loader and
|
|
||||||
silently traverse the "parent" field once for such loaders before
|
|
||||||
entering the bulk of the resolution code. This avoids an upcall to
|
|
||||||
Java programming language code which certain loaders can not handle.
|
|
||||||
|
|
||||||
</OL>
|
|
||||||
|
|
||||||
</P>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
The following JVM entry points may be deleted:
|
|
||||||
|
|
||||||
<UL>
|
|
||||||
<LI> JVM_GetClassFields
|
|
||||||
<LI> JVM_GetClassMethods
|
|
||||||
<LI> JVM_GetClassConstructors
|
|
||||||
<LI> JVM_GetClassField
|
|
||||||
<LI> JVM_GetClassMethod
|
|
||||||
<LI> JVM_GetClassConstructor
|
|
||||||
<LI> JVM_NewInstance
|
|
||||||
<LI> JVM_GetField
|
|
||||||
<LI> JVM_GetPrimitiveField
|
|
||||||
<LI> JVM_SetField
|
|
||||||
<LI> JVM_SetPrimitiveField
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
</P>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
To keep using the previous reflection implementation, licensees should
|
|
||||||
not take changes from Sun's JDK 1.4 relating specifically to the
|
|
||||||
implementation of reflection in the following classes/methods and
|
|
||||||
any associated native code:
|
|
||||||
|
|
||||||
<UL>
|
|
||||||
<LI> java.lang.Class.newInstance0
|
|
||||||
<LI> java.lang.Class.getClassLoader0
|
|
||||||
<LI> java.lang.Class.getFields
|
|
||||||
<LI> java.lang.Class.getMethods
|
|
||||||
<LI> java.lang.Class.getDeclaredFields
|
|
||||||
<LI> java.lang.Class.getDeclaredMethods
|
|
||||||
<LI> java.lang.Class.getFields0
|
|
||||||
<LI> java.lang.Class.getMethods0
|
|
||||||
<LI> java.lang.Class.getConstructors0
|
|
||||||
<LI> java.lang.Class.getField0
|
|
||||||
<LI> java.lang.Class.getMethod0
|
|
||||||
<LI> java.lang.Class.getConstructor0
|
|
||||||
<LI> java.lang.ClassLoader.getCallerClassLoader
|
|
||||||
<LI> java.lang.System.getCallerClass
|
|
||||||
<LI> java.lang.reflect.AccessibleObject
|
|
||||||
<LI> java.lang.reflect.Constructor
|
|
||||||
<LI> java.lang.reflect.Field
|
|
||||||
<LI> java.lang.reflect.Method
|
|
||||||
<LI> java.lang.reflect.Modifier
|
|
||||||
<LI> sun.misc.ClassReflector
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
</P>
|
|
||||||
</HTML>
|
|
Loading…
Add table
Add a link
Reference in a new issue