diff --git a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/package-info.java b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/package-info.java new file mode 100644 index 00000000000..be6c818a249 --- /dev/null +++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/package-info.java @@ -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. + * + *
+ * 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. + * + *
+ * 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. + * + *
+ * NOTE: 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.) + * + *
+ * 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. + * + *
+ * 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". + * + *
+ * 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". + * + *
+ * 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. + * + *
-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. - -
-The pack methods may be used by application developers -who wish to deploy large JARs on the web. The unpack methods may be used -by deployment applications such as Java Web Start and Java Plugin. - -
-In typical use, the packed output should be further compressed using -a suitable tool such as gzip or 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. - -
-NOTE: 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.) - -
-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. - -
-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". - -
-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". - -
-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. - -
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 referent. + * 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. + * + *
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. + * + *
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. + * + *
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 referent. Every reference object provides methods for getting and
-clearing the reference. Aside from the clearing operation reference objects
-are otherwise immutable, so no 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.
-
-
-
{@link java.lang.ref.ReferenceQueue}
-class.
-
-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. - -
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.
-
-
-
Only developers who are defining new selector providers or + * asynchronous channel providers should need to make direct use of + * this package.
+ * + *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; diff --git a/jdk/src/java.base/share/classes/java/nio/channels/spi/package.html b/jdk/src/java.base/share/classes/java/nio/channels/spi/package.html deleted file mode 100644 index a6f8cbfdcb3..00000000000 --- a/jdk/src/java.base/share/classes/java/nio/channels/spi/package.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - -
- -Service-provider classes for the {@link java.nio.channels} package. - -Only developers who are defining new selector providers or asynchronous -channel providers should need to make direct use of this package.
- -Unless otherwise noted, passing a 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 - - - diff --git a/jdk/src/java.base/share/classes/java/nio/charset/package-info.java b/jdk/src/java.base/share/classes/java/nio/charset/package-info.java new file mode 100644 index 00000000000..e18f568004a --- /dev/null +++ b/jdk/src/java.base/share/classes/java/nio/charset/package-info.java @@ -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. + * + *
+ * + *+ *
+ * Class name Description + * {@link java.nio.charset.Charset} + *A named mapping between characters
and bytes+ * {@link java.nio.charset.CharsetDecoder} + *Decodes bytes into characters + * {@link java.nio.charset.CharsetEncoder} + *Encodes characters into bytes + * {@link java.nio.charset.CoderResult} + *Describes coder results + * + * {@link java.nio.charset.CodingErrorAction} + *Describes actions to take when
coding errors are detected
A charset is named mapping between sequences of + * sixteen-bit Unicode characters and sequences of bytes, in the sense + * defined in RFC 2278. + * A decoder is an engine which transforms bytes in a specific + * charset into characters, and an encoder is an engine which + * transforms characters into bytes. Encoders and decoders operate on + * byte and character buffers. They are collectively referred to as + * coders. + * + *
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. + * + *
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. + * + *
Support for new charsets can be made available via the + * interface defined in the {@link + * java.nio.charset.spi.CharsetProvider} class in the {@link + * java.nio.charset.spi} package. + * + *
Unless otherwise noted, passing a 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; diff --git a/jdk/src/java.base/share/classes/java/nio/charset/package.html b/jdk/src/java.base/share/classes/java/nio/charset/package.html deleted file mode 100644 index 69b160b8139..00000000000 --- a/jdk/src/java.base/share/classes/java/nio/charset/package.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - -
- - -Defines charsets, decoders, and encoders, for translating between bytes and -Unicode characters. - -- --
- Class name
Description
- {@link java.nio.charset.Charset} -A named mapping between characters
and bytes- {@link java.nio.charset.CharsetDecoder} -Decodes bytes into characters - {@link java.nio.charset.CharsetEncoder} -Encodes characters into bytes - {@link java.nio.charset.CoderResult} -Describes coder results - - {@link java.nio.charset.CodingErrorAction} -Describes actions to take when
coding errors are detected
A charset is named mapping between sequences of sixteen-bit Unicode -characters and sequences of bytes, in the sense defined in RFC 2278. A -decoder is an engine which transforms bytes in a specific charset into -characters, and an encoder is an engine which transforms characters into -bytes. Encoders and decoders operate on byte and character buffers. They are -collectively referred to as coders. - -
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. - -
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. - -
Support for new charsets can be made available via the interface defined in -the {@link java.nio.charset.spi.CharsetProvider} class in the {@link -java.nio.charset.spi} package. - -
Unless otherwise noted, passing a 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 - - - diff --git a/jdk/src/java.base/share/classes/java/nio/charset/spi/package-info.java b/jdk/src/java.base/share/classes/java/nio/charset/spi/package-info.java new file mode 100644 index 00000000000..8e5e81da703 --- /dev/null +++ b/jdk/src/java.base/share/classes/java/nio/charset/spi/package-info.java @@ -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. + * + *
Only developers who are defining new charsets should need to + * make direct use of this package.
+ * + *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; diff --git a/jdk/src/java.base/share/classes/java/nio/charset/spi/package.html b/jdk/src/java.base/share/classes/java/nio/charset/spi/package.html deleted file mode 100644 index a7b7ab18879..00000000000 --- a/jdk/src/java.base/share/classes/java/nio/charset/spi/package.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - -
- -Service-provider classes for the {@link java.nio.charset} package. - -Only developers who are defining new charsets should need to make direct -use of this package.
- -Unless otherwise noted, passing a 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 - - - diff --git a/jdk/src/java.base/share/classes/java/nio/package-info.java b/jdk/src/java.base/share/classes/java/nio/package-info.java new file mode 100644 index 00000000000..374e0bb59a9 --- /dev/null +++ b/jdk/src/java.base/share/classes/java/nio/package-info.java @@ -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. + * + * + *
The central abstractions of the NIO APIs are:
+ * + *Buffers, which are containers for data; + *
Charsets and their
+ * associated decoders and encoders,
which
+ * translate between bytes and Unicode characters;
Channels of
+ * various types, which represent connections
to entities
+ * capable of performing I/O operations; and
Selectors and selection keys, which
+ * together with
selectable channels define a multiplexed,
+ * non-blocking
I/O facility.
The java.nio 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. + * + * + * + *
+ * + *+ *
+ * Buffers Description + * {@link java.nio.Buffer} + *Position, limit, and capacity; + *
clear, flip, rewind, and mark/reset+ * {@link java.nio.ByteBuffer} + *Get/put, compact, views; allocate, wrap + * {@link java.nio.MappedByteBuffer} + *A byte buffer mapped to a file + * {@link java.nio.CharBuffer} + *Get/put, compact; allocate, wrap + * {@link java.nio.DoubleBuffer} + *' ' + * {@link java.nio.FloatBuffer} + *' ' + * {@link java.nio.IntBuffer} + *' ' + * {@link java.nio.LongBuffer} + *' ' + * {@link java.nio.ShortBuffer} + *' ' + * {@link java.nio.ByteOrder} + *Typesafe enumeration for byte orders
A buffer is a container for a fixed amount of data of a + * specific primitive type. In addition to its content a buffer has a + * position, which is the index of the next element to be read + * or written, and a limit, 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 clearing, flipping, and rewinding, for + * marking the current position, and for resetting the + * position to the previous mark. + * + *
There is a buffer class for each non-boolean primitive type. + * Each class defines a family of get and put methods + * for moving data out of and in to a buffer, methods for + * compacting, duplicating, and slicing a buffer, + * and static methods for allocating a new buffer as well as + * for wrapping an existing array into a buffer. + * + *
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: + * + *
A byte buffer can be allocated as a direct buffer, in which + * case the Java virtual machine will make a best effort to perform + * native I/O operations directly upon it.
A byte buffer can be created by {@link + * java.nio.channels.FileChannel#map mapping} 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.
A byte buffer provides access to its content as either a + * heterogeneous or homogeneous sequence of binary data of any + * non-boolean primitive type, in either big-endian or little-endian + * byte order.
Unless otherwise noted, passing a 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; diff --git a/jdk/src/java.base/share/classes/java/nio/package.html b/jdk/src/java.base/share/classes/java/nio/package.html deleted file mode 100644 index 1ce7131f869..00000000000 --- a/jdk/src/java.base/share/classes/java/nio/package.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - -
- -Defines buffers, which are containers for data, and provides an overview of the -other NIO packages. - - -The central abstractions of the NIO APIs are:
- -Buffers, which are containers for data; -
Charsets and their
- associated decoders and encoders,
which translate between
- bytes and Unicode characters;
Channels of
- various types, which represent connections
to entities capable of
- performing I/O operations; and
Selectors and selection keys, which together with
- selectable channels define a multiplexed, non-blocking
- I/O facility.
The java.nio 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. - - - - -
- --
- Buffers
Description
- {@link java.nio.Buffer} -Position, limit, and capacity; -
clear, flip, rewind, and mark/reset- {@link java.nio.ByteBuffer} -Get/put, compact, views; allocate, wrap - {@link java.nio.MappedByteBuffer} -A byte buffer mapped to a file - {@link java.nio.CharBuffer} -Get/put, compact; allocate, wrap - {@link java.nio.DoubleBuffer} -' ' - {@link java.nio.FloatBuffer} -' ' - {@link java.nio.IntBuffer} -' ' - {@link java.nio.LongBuffer} -' ' - {@link java.nio.ShortBuffer} -' ' - {@link java.nio.ByteOrder} -Typesafe enumeration for byte orders
A buffer is a container for a fixed amount of data of a specific -primitive type. In addition to its content a buffer has a position, -which is the index of the next element to be read or written, and a -limit, 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 clearing, flipping, and rewinding, for -marking the current position, and for resetting the position to -the previous mark. - -
There is a buffer class for each non-boolean primitive type. Each class -defines a family of get and put methods for moving data out of -and in to a buffer, methods for compacting, duplicating, and -slicing a buffer, and static methods for allocating a new buffer -as well as for wrapping an existing array into a buffer. - -
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: - -
A byte buffer can be allocated as a - direct buffer, in which case the Java virtual machine will make a - best effort to perform native I/O operations directly upon it.
A byte buffer can be created by {@link - java.nio.channels.FileChannel#map mapping} 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.
A byte buffer provides access to its content as either a heterogeneous - or homogeneous sequence of binary data - of any non-boolean primitive type, in either big-endian or little-endian byte order.
Unless otherwise noted, passing a 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 - - - diff --git a/jdk/src/java.base/share/classes/java/text/package-info.java b/jdk/src/java.base/share/classes/java/text/package-info.java new file mode 100644 index 00000000000..b4c411844bd --- /dev/null +++ b/jdk/src/java.base/share/classes/java/text/package-info.java @@ -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. + * + *
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: + * + *
-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: -
java.util.jar
package is based on the following
+ * specifications:
+ *
+ * + * In JAR files, all file names must be encoded in the UTF-8 encoding. + *
java.util.jar
package is based on the following specifications:
-- In JAR files, all file names must be encoded in the UTF-8 encoding. -
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. + * + *
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.
+ * + *Unless otherwise noted, passing a null argument to a + * method in any class or interface in this package will cause a + * {@link java.lang.NullPointerException NullPointerException} to be + * thrown. + * + *
An excellent tutorial and overview of regular expressions is Mastering Regular + * Expressions, Jeffrey E. F. Friedl, O'Reilly and Associates, + * 1997.
+ * + * @since 1.4 + * @author Mike McCloskey + * @author Mark Reinhold + */ +package java.util.regex; diff --git a/jdk/src/java.base/share/classes/java/util/regex/package.html b/jdk/src/java.base/share/classes/java/util/regex/package.html deleted file mode 100644 index 5be2f0bcc89..00000000000 --- a/jdk/src/java.base/share/classes/java/util/regex/package.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - -Classes for matching character sequences against patterns specified by regular -expressions. - -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. - -
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.
- -Unless otherwise noted, passing a null argument to a method -in any class or interface in this package will cause a -{@link java.lang.NullPointerException NullPointerException} to be thrown. - -
An excellent tutorial and overview of regular expressions is Mastering Regular -Expressions, Jeffrey E. F. Friedl, O'Reilly and Associates, 1997.
- - - -@since 1.4 -@author Mike McCloskey -@author Mark Reinhold - - - diff --git a/jdk/src/java.base/share/classes/java/util/spi/package-info.java b/jdk/src/java.base/share/classes/java/util/spi/package-info.java new file mode 100644 index 00000000000..b70147cf322 --- /dev/null +++ b/jdk/src/java.base/share/classes/java/util/spi/package-info.java @@ -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; diff --git a/jdk/src/java.base/share/classes/java/util/spi/package.html b/jdk/src/java.base/share/classes/java/util/spi/package.html deleted file mode 100644 index ce49fb2a414..00000000000 --- a/jdk/src/java.base/share/classes/java/util/spi/package.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - -Service provider classes for the classes in the java.util package. - - -@since 1.6 - - diff --git a/jdk/src/java.base/share/classes/javax/crypto/interfaces/package-info.java b/jdk/src/java.base/share/classes/javax/crypto/interfaces/package-info.java new file mode 100644 index 00000000000..9f59e8ffed6 --- /dev/null +++ b/jdk/src/java.base/share/classes/javax/crypto/interfaces/package-info.java @@ -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. + * + *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). + * + *
For more developer information on how to use these interfaces,
+ * including information on how to design Key
classes for
+ * hardware devices, please refer to the cryptographic provider
+ * developer guide:
+ *
+ *
-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). -
-For more developer information on how to use
-these interfaces, including information on
-how to design Key
classes
-for hardware devices, please refer to the
-cryptographic provider developer guide:
-
Support for encryption includes symmetric, asymmetric, block, + * and stream ciphers. This package also supports secure streams and + * sealed objects. + * + *
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. + * + *
+ * + *Support for encryption includes symmetric, asymmetric, block, and -stream ciphers. This package also supports secure streams and sealed -objects. - -
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. - -
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. + * + *
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. + * + * + *
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. - -
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. - -
- - Licensee impact of JDK 1.4 reflection changes - -
-- -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. - -
-- -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: - -
- -The following changes were discovered to be necessary for backward -compatibility with certain applications (see bug 4474172): - -
- -The following JVM entry points may be deleted: - -
- -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: - -