This commit is contained in:
Phil Race 2017-06-05 11:00:25 -07:00
commit d5fb09f608
242 changed files with 1378 additions and 380 deletions

View File

@ -414,3 +414,4 @@ e78da9db6299b3fcba49300d52e2359e82fdd218 jdk-9+168
177436a54ca13730ffc725a6e5dbfcd9486f3da3 jdk-9+169
ef9954f6896bb0b95ac62bf769f68b59a7a56ccd jdk-9+170
29bbedd4cce8e14742bdb22118c057b877c02f0f jdk-9+171
0ff9ad7d067cd4fa14450cf208bf019175a0aaba jdk-9+172

View File

@ -0,0 +1,203 @@
/*
* Copyright (c) 2016, 2017, 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.
*/
package build.tools.jigsaw;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.UncheckedIOException;
import java.lang.module.ModuleDescriptor;
import java.lang.module.ModuleFinder;
import java.lang.module.ModuleReference;
import java.net.URI;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* Run this tool to generate the JDK internal APIs in the previous releases
* including platform-specific internal APIs.
*/
public class ListPackages {
// Filter non-interesting JAR files
private final static List<String> excludes = Arrays.asList(
"deploy.jar",
"javaws.jar",
"plugin.jar",
"cldrdata.jar",
"localedata.jar"
);
private static void usage() {
System.out.println("ListPackages [-o <outfile>] [-jdkinternals] <javaHome> [<javaHome>]*");
}
private static final Set<String> EXPORTED_PACKAGES = new HashSet<>();
public static void main(String... args) throws IOException {
List<Path> paths = new ArrayList<>();
Path outFile = null;
boolean jdkinternals = false;
int i=0;
while (i < args.length) {
String arg = args[i++];
if (arg.equals("-o")) {
outFile = Paths.get(args[i++]);
} else if (arg.equals("-jdkinternals")) {
jdkinternals = true;
} else {
Path p = Paths.get(arg);
if (Files.notExists(p))
throw new IllegalArgumentException(p + " not exist");
paths.add(p);
}
}
if (paths.isEmpty()) {
usage();
System.exit(1);
}
// Get the exported APIs from the current JDK releases
Path javaHome = Paths.get(System.getProperty("java.home"));
ModuleFinder.ofSystem().findAll()
.stream()
.map(ModuleReference::descriptor)
.filter(md -> !md.name().equals("jdk.unsupported"))
.flatMap(md -> md.exports().stream())
.filter(exp -> !exp.isQualified())
.map(ModuleDescriptor.Exports::source)
.forEach(EXPORTED_PACKAGES::add);
ListPackages listPackages = new ListPackages(paths);
Stream<String> pkgs = listPackages.packages().stream();
if (jdkinternals) {
pkgs = pkgs.filter(pn -> !EXPORTED_PACKAGES.contains(pn));
}
if (outFile != null) {
try (OutputStream out = Files.newOutputStream(outFile);
PrintStream pw = new PrintStream(out)) {
write(pw, pkgs);
}
} else {
write(System.out, pkgs);
}
}
private static void write(PrintStream pw, Stream<String> packages) {
pw.println("# This file is auto-generated by ListPackages tool on " +
LocalDateTime.now().toString());
packages.sorted().forEach(pw::println);
}
private final Set<String> packages = new HashSet<>();
ListPackages(List<Path> dirs) throws IOException {
for (Path p : dirs) {
packages.addAll(list(p));
}
}
Set<String> packages() {
return packages;
}
private Set<String> list(Path javaHome) throws IOException {
Path jrt = javaHome.resolve("lib").resolve("modules");
Path jre = javaHome.resolve("jre");
if (Files.exists(jrt)) {
return listModularRuntime(javaHome);
} else if (Files.exists(jre.resolve("lib").resolve("rt.jar"))) {
return listLegacyRuntime(javaHome);
}
throw new IllegalArgumentException("invalid " + javaHome);
}
private Set<String> listModularRuntime(Path javaHome) throws IOException {
Map<String, String> env = new HashMap<>();
env.put("java.home", javaHome.toString());
FileSystem fs = FileSystems.newFileSystem(URI.create("jrt:/"), env);
Path root = fs.getPath("packages");
return Files.walk(root, 1)
.map(Path::getFileName)
.map(Path::toString)
.collect(Collectors.toSet());
}
private Set<String> listLegacyRuntime(Path javaHome) throws IOException {
List<Path> dirs = new ArrayList<>();
Path jre = javaHome.resolve("jre");
Path lib = javaHome.resolve("lib");
dirs.add(jre.resolve("lib"));
dirs.add(jre.resolve("lib").resolve("ext"));
dirs.add(lib.resolve("tools.jar"));
dirs.add(lib.resolve("jconsole.jar"));
Set<String> packages = new HashSet<>();
for (Path d : dirs) {
Files.find(d, 1, (Path p, BasicFileAttributes attr)
-> p.getFileName().toString().endsWith(".jar") &&
!excludes.contains(p.getFileName().toString()))
.map(ListPackages::walkJarFile)
.forEach(packages::addAll);
}
return packages;
}
static Set<String> walkJarFile(Path jarfile) {
try (JarFile jf = new JarFile(jarfile.toFile())) {
return jf.stream()
.map(JarEntry::getName)
.filter(n -> n.endsWith(".class"))
.map(ListPackages::toPackage)
.collect(Collectors.toSet());
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}
static String toPackage(String name) {
int i = name.lastIndexOf('/');
if (i < 0) {
System.err.format("Warning: unnamed package %s%n", name);
}
return i >= 0 ? name.substring(0, i).replace("/", ".") : "";
}
}

View File

@ -403,6 +403,7 @@ import java.lang.module.ModuleFinder;
*
* @author Marianne Mueller
* @author Roland Schemers
* @since 1.2
*/
public final class RuntimePermission extends BasicPermission {

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2017, 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
@ -44,13 +44,13 @@
* </li>
* </ul>
*
* <h1><a name="jvm_mods"></a>Summary of relevant Java Virtual Machine changes</h1>
* <h1><a id="jvm_mods"></a>Summary of relevant Java Virtual Machine changes</h1>
* The following low-level information summarizes relevant parts of the
* Java Virtual Machine specification. For full details, please see the
* current version of that specification.
*
* Each occurrence of an {@code invokedynamic} instruction is called a <em>dynamic call site</em>.
* <h2><a name="indyinsn"></a>{@code invokedynamic} instructions</h2>
* <h2><a id="indyinsn"></a>{@code invokedynamic} instructions</h2>
* A dynamic call site is originally in an unlinked state. In this state, there is
* no target method for the call site to invoke.
* <p>
@ -77,7 +77,8 @@
* <p>
* The bootstrap method is invoked on at least three values:
* <ul>
* <li>a {@code MethodHandles.Lookup}, a lookup object on the <em>caller class</em> in which dynamic call site occurs </li>
* <li>a {@code MethodHandles.Lookup}, a lookup object on the <em>caller class</em>
* in which dynamic call site occurs </li>
* <li>a {@code String}, the method name mentioned in the call site </li>
* <li>a {@code MethodType}, the resolved type descriptor of the call </li>
* <li>optionally, between 1 and 251 additional static arguments taken from the constant pool </li>
@ -165,17 +166,27 @@
* Given these rules, here are examples of legal bootstrap method declarations,
* given various numbers {@code N} of extra arguments.
* The first rows (marked {@code *}) will work for any number of extra arguments.
* <table border=1 cellpadding=5 summary="Static argument types">
* <tr><th>N</th><th>sample bootstrap method</th></tr>
* <tr><td>*</td><td><code>CallSite bootstrap(Lookup caller, String name, MethodType type, Object... args)</code></td></tr>
* <tr><td>*</td><td><code>CallSite bootstrap(Object... args)</code></td></tr>
* <tr><td>*</td><td><code>CallSite bootstrap(Object caller, Object... nameAndTypeWithArgs)</code></td></tr>
* <tr><td>0</td><td><code>CallSite bootstrap(Lookup caller, String name, MethodType type)</code></td></tr>
* <tr><td>0</td><td><code>CallSite bootstrap(Lookup caller, Object... nameAndType)</code></td></tr>
* <tr><td>1</td><td><code>CallSite bootstrap(Lookup caller, String name, MethodType type, Object arg)</code></td></tr>
* <tr><td>2</td><td><code>CallSite bootstrap(Lookup caller, String name, MethodType type, Object... args)</code></td></tr>
* <tr><td>2</td><td><code>CallSite bootstrap(Lookup caller, String name, MethodType type, String... args)</code></td></tr>
* <tr><td>2</td><td><code>CallSite bootstrap(Lookup caller, String name, MethodType type, String x, int y)</code></td></tr>
* <table class="plain">
* <caption style="display:none">Static argument types</caption>
* <tr><th>N</th><th>Sample bootstrap method</th></tr>
* <tr><td>*</td>
* <td><code>CallSite bootstrap(Lookup caller, String name, MethodType type, Object... args)</code></td></tr>
* <tr><td>*</td><td>
* <code>CallSite bootstrap(Object... args)</code></td></tr>
* <tr><td>*</td><td>
* <code>CallSite bootstrap(Object caller, Object... nameAndTypeWithArgs)</code></td></tr>
* <tr><td>0</td><td>
* <code>CallSite bootstrap(Lookup caller, String name, MethodType type)</code></td></tr>
* <tr><td>0</td><td>
* <code>CallSite bootstrap(Lookup caller, Object... nameAndType)</code></td></tr>
* <tr><td>1</td><td>
* <code>CallSite bootstrap(Lookup caller, String name, MethodType type, Object arg)</code></td></tr>
* <tr><td>2</td><td>
* <code>CallSite bootstrap(Lookup caller, String name, MethodType type, Object... args)</code></td></tr>
* <tr><td>2</td><td>
* <code>CallSite bootstrap(Lookup caller, String name, MethodType type, String... args)</code></td></tr>
* <tr><td>2</td>
* <td><code>CallSite bootstrap(Lookup caller, String name, MethodType type, String x, int y)</code></td></tr>
* </table>
* The last example assumes that the extra arguments are of type
* {@code CONSTANT_String} and {@code CONSTANT_Integer}, respectively.

View File

@ -27,7 +27,7 @@
* Classes to support module descriptors and creating configurations of modules
* by means of resolution and service binding.
*
* <h2><a name="resolution">Resolution</a></h2>
* <h2><a id="resolution">Resolution</a></h2>
*
* <p> Resolution is the process of computing the transitive closure of a set
* of root modules over a set of observable modules by resolving the
@ -97,7 +97,7 @@
* resolved so that it reads all other modules in the resulting configuration and
* all modules in parent configurations. </p>
*
* <h2><a name="servicebinding">Service binding</a></h2>
* <h2><a id="servicebinding">Service binding</a></h2>
*
* <p> Service binding is the process of augmenting a graph of resolved modules
* from the set of observable modules induced by the service-use dependence

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2017, 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
@ -57,7 +57,7 @@
* by the {@code throw} statement. Subclasses of {@code Throwable}
* represent errors and exceptions.
*
* <a name="charenc"></a>
* <a id="charenc"></a>
* <h3>Character Encodings</h3>
*
* The specification of the {@link java.nio.charset.Charset

View File

@ -36,6 +36,7 @@ import jdk.internal.HotSpotIntrinsicCandidate;
* conversion would occur.
*
* @author Nakul Saraiya
* @since 1.1
*/
public final
class Array {

View File

@ -59,6 +59,7 @@ import java.util.StringJoiner;
*
* @author Kenneth Russell
* @author Nakul Saraiya
* @since 1.1
*/
public final class Constructor<T> extends Executable {
private Class<T> clazz;

View File

@ -60,6 +60,7 @@ import sun.reflect.annotation.TypeAnnotationParser;
*
* @author Kenneth Russell
* @author Nakul Saraiya
* @since 1.1
*/
public final
class Field extends AccessibleObject implements Member {

View File

@ -38,6 +38,7 @@ package java.lang.reflect;
*
* @see Method
* @see Constructor
* @since 1.1
*/
public class InvocationTargetException extends ReflectiveOperationException {
/**

View File

@ -35,6 +35,7 @@ package java.lang.reflect;
* @see Constructor
*
* @author Nakul Saraiya
* @since 1.1
*/
public
interface Member {

View File

@ -63,6 +63,7 @@ import java.util.StringJoiner;
*
* @author Kenneth Russell
* @author Nakul Saraiya
* @since 1.1
*/
public final class Method extends Executable {
private Class<?> clazz;

View File

@ -43,6 +43,7 @@ import jdk.internal.reflect.ReflectionFactory;
*
* @author Nakul Saraiya
* @author Kenneth Russell
* @since 1.1
*/
public class Modifier {

View File

@ -222,6 +222,7 @@ import java.util.Arrays;
* @author Mike Cowlishaw
* @author Joseph D. Darcy
* @author Sergey V. Kuksenko
* @since 1.1
*/
public class BigDecimal extends Number implements Comparable<BigDecimal> {
/**

View File

@ -75,7 +75,7 @@ import sun.net.util.IPAddressUtil;
* <blockquote><table class="borderless">
* <caption style="display:none">Description of unicast and multicast address types</caption>
* <tbody>
* <tr><th valign=top><i>unicast</i></th>
* <tr><th style="vertical-align:top"><i>unicast</i></th>
* <td>An identifier for a single interface. A packet sent to
* a unicast address is delivered to the interface identified by
* that address.
@ -94,7 +94,7 @@ import sun.net.util.IPAddressUtil;
* IP address loops around and becomes IP input on the local
* host. This address is often used when testing a
* client.</td></tr>
* <tr><th valign=top><i>multicast</i></th>
* <tr><th style="vertical-align:top"><i>multicast</i></th>
* <td>An identifier for a set of interfaces (typically belonging
* to different nodes). A packet sent to a multicast address is
* delivered to all interfaces identified by that address.</td></tr>

View File

@ -167,6 +167,7 @@ import java.util.StringTokenizer;
*
* @author Marianne Mueller
* @author Roland Schemers
* @since 1.2
*/
public final class NetPermission extends BasicPermission {

View File

@ -40,6 +40,7 @@ import java.lang.annotation.Native;
* DatagramSocket and MulticastSocket.
*
* @author David Brown
* @since 1.1
*/

View File

@ -142,6 +142,7 @@ import sun.security.util.Debug;
*
* @author Marianne Mueller
* @author Roland Schemers
* @since 1.2
*
* @serial exclude
*/

View File

@ -253,32 +253,32 @@ import java.lang.NullPointerException; // for javadoc
* which are taken from that specification, are used below to describe these
* constraints:
*
* <blockquote><table>
* <blockquote><table class="borderless">
* <caption style="display:none">Describes categories alpha,digit,alphanum,unreserved,punct,reserved,escaped,and other</caption>
* <tbody>
* <tr><th valign=top><i>alpha</i></th>
* <tr><th style="vertical-align:top"><i>alpha</i></th>
* <td>The US-ASCII alphabetic characters,
* {@code 'A'}&nbsp;through&nbsp;{@code 'Z'}
* and {@code 'a'}&nbsp;through&nbsp;{@code 'z'}</td></tr>
* <tr><th valign=top><i>digit</i></th>
* <tr><th style="vertical-align:top"><i>digit</i></th>
* <td>The US-ASCII decimal digit characters,
* {@code '0'}&nbsp;through&nbsp;{@code '9'}</td></tr>
* <tr><th valign=top><i>alphanum</i></th>
* <tr><th style="vertical-align:top"><i>alphanum</i></th>
* <td>All <i>alpha</i> and <i>digit</i> characters</td></tr>
* <tr><th valign=top><i>unreserved</i>&nbsp;&nbsp;&nbsp;&nbsp;</th>
* <tr><th style="vertical-align:top"><i>unreserved</i>&nbsp;&nbsp;&nbsp;&nbsp;</th>
* <td>All <i>alphanum</i> characters together with those in the string
* {@code "_-!.~'()*"}</td></tr>
* <tr><th valign=top><i>punct</i></th>
* <tr><th style="vertical-align:top"><i>punct</i></th>
* <td>The characters in the string {@code ",;:$&+="}</td></tr>
* <tr><th valign=top><i>reserved</i></th>
* <tr><th style="vertical-align:top"><i>reserved</i></th>
* <td>All <i>punct</i> characters together with those in the string
* {@code "?/[]@"}</td></tr>
* <tr><th valign=top><i>escaped</i></th>
* <tr><th style="vertical-align:top"><i>escaped</i></th>
* <td>Escaped octets, that is, triplets consisting of the percent
* character ({@code '%'}) followed by two hexadecimal digits
* ({@code '0'}-{@code '9'}, {@code 'A'}-{@code 'F'}, and
* {@code 'a'}-{@code 'f'})</td></tr>
* <tr><th valign=top><i>other</i></th>
* <tr><th style="vertical-align:top"><i>other</i></th>
* <td>The Unicode characters that are not in the US-ASCII character set,
* are not control characters (according to the {@link
* java.lang.Character#isISOControl(char) Character.isISOControl}

View File

@ -1,5 +1,6 @@
<!DOCTYPE HTML>
<!--
Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 1998, 2017, 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
@ -22,15 +23,14 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Networking Properties</TITLE>
</HEAD>
<BODY LANG="en-US" DIR="LTR">
<H1 ALIGN=CENTER>Networking Properties</H1>
<P ALIGN=LEFT>There are a few standard system properties used to
<H1 style="text-align:center">Networking Properties</H1>
<P>There are a few standard system properties used to
alter the mechanisms and behavior of the various classes of the
java.net package. Some are checked only once at startup of the VM,
and therefore are best set using the -D option of the java command,
@ -39,7 +39,7 @@ the <a href="../../lang/System.html#setProperty(java.lang.String,%20java.lang.St
The purpose of this document is to list
and detail all of these properties.</P>
<P>If there is no special note, a property value is checked every time it is used.</P>
<a name="Ipv4IPv6"></a>
<a id="Ipv4IPv6"></a>
<H2>IPv4 / IPv6</H2>
<UL>
<LI><P><B>java.net.preferIPv4Stack</B> (default: false)<BR>
@ -62,7 +62,7 @@ and detail all of these properties.</P>
returned by the operating system.</P>
</UL>
<P>Both of these properties are checked only once, at startup.</P>
<a name="Proxies"></a>
<a id="Proxies"></a>
<H2>Proxies</H2>
<P>A proxy server allows indirect connection to network services and
is used mainly for security (to get through firewalls) and
@ -155,7 +155,7 @@ of proxies.</P>
globally through their user interface). Note that this property is
checked only once at startup.</P>
</UL>
<a name="MiscHTTP"></a>
<a id="MiscHTTP"></a>
<H2>Misc HTTP properties</H2>
<UL>
<LI><P><B>http.agent</B> (default: &ldquo;Java/&lt;version&gt;&rdquo;)<BR>
@ -214,7 +214,7 @@ of proxies.</P>
</OL>
</UL>
<P>All these properties are checked only once at startup.</P>
<a name="AddressCache"></a>
<a id="AddressCache"></a>
<H2>Address Cache</H2>
<P>The java.net package, when doing name resolution, uses an address
cache for both security and performance reasons. Any address

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2017, 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
@ -28,33 +28,46 @@
* performing I/O operations, such as files and sockets; defines selectors, for
* multiplexed, non-blocking I/O operations.
*
* <a name="channels"></a>
* <a id="channels"></a>
*
* <blockquote><table cellspacing=1 cellpadding=0 summary="Lists channels and their descriptions">
* <tr><th align="left">Channels</th><th align="left">Description</th></tr>
* <tr><td valign=top><i>{@link java.nio.channels.Channel}</i></td>
* <blockquote><table class="borderless">
* <caption style="display:none">Lists channels and their descriptions</caption>
* <tr><th style="text-align:left">Channels</th>
* <th style="text-align:left">Description</th></tr>
* <tr><td style="vertical-align:top"><i>{@link java.nio.channels.Channel}</i></td>
* <td>A nexus for I/O operations</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;<i>{@link java.nio.channels.ReadableByteChannel}</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;<i>{@link java.nio.channels.ReadableByteChannel}</i></td>
* <td>Can read into a buffer</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.ScatteringByteChannel}&nbsp;&nbsp;</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.ScatteringByteChannel}&nbsp;&nbsp;</i></td>
* <td>Can read into a sequence of&nbsp;buffers</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;<i>{@link java.nio.channels.WritableByteChannel}</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;<i>{@link java.nio.channels.WritableByteChannel}</i></td>
* <td>Can write from a buffer</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.GatheringByteChannel}</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.GatheringByteChannel}</i></td>
* <td>Can write from a sequence of&nbsp;buffers</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;<i>{@link java.nio.channels.ByteChannel}</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;<i>{@link java.nio.channels.ByteChannel}</i></td>
* <td>Can read/write to/from a&nbsp;buffer</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.SeekableByteChannel}</i></td>
* <td>A {@code ByteChannel} connected to an entity that contains a variable-length sequence of bytes</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;<i>{@link java.nio.channels.AsynchronousChannel}</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.SeekableByteChannel}</i></td>
* <td>A {@code ByteChannel} connected to an entity that contains a variable-length
* sequence of bytes</td></tr>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;<i>{@link java.nio.channels.AsynchronousChannel}</i></td>
* <td>Supports asynchronous I/O operations.</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.AsynchronousByteChannel}</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.AsynchronousByteChannel}</i></td>
* <td>Can read and write bytes asynchronously</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;<i>{@link java.nio.channels.NetworkChannel}</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;<i>{@link java.nio.channels.NetworkChannel}</i></td>
* <td>A channel to a network socket</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.MulticastChannel}</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.channels.MulticastChannel}</i></td>
* <td>Can join Internet Protocol (IP) multicast groups</td></tr>
* <tr><td valign=top>{@link java.nio.channels.Channels}</td>
* <tr><td style="vertical-align:top">{@link java.nio.channels.Channels}</td>
* <td>Utility methods for channel/stream interoperation</td></tr>
* </table></blockquote>
*
@ -109,13 +122,19 @@
* be constructed that uses a given charset to encode characters into bytes and
* write them to a given writable byte channel.
*
* <blockquote><table cellspacing=1 cellpadding=0 summary="Lists file channels and their descriptions">
* <tr><th align="left">File channels</th><th align="left">Description</th></tr>
* <tr><td valign=top>{@link java.nio.channels.FileChannel}</td>
* <blockquote><table class="borderless">
* <caption style="display:none">
* Lists file channels and their descriptions</caption>
* <tr><th style="text-align:left">File channels</th>
* <th style="text-align:left">Description</th></tr>
* <tr><td style="vertical-align:top">
* {@link java.nio.channels.FileChannel}</td>
* <td>Reads, writes, maps, and manipulates files</td></tr>
* <tr><td valign=top>{@link java.nio.channels.FileLock}</td>
* <tr><td style="vertical-align:top">
* {@link java.nio.channels.FileLock}</td>
* <td>A lock on a (region of a) file</td></tr>
* <tr><td valign=top>{@link java.nio.MappedByteBuffer}&nbsp;&nbsp;</td>
* <tr><td style="vertical-align:top">
* {@link java.nio.MappedByteBuffer}&nbsp;&nbsp;</td>
* <td>A direct byte buffer mapped to a region of a&nbsp;file</td></tr>
* </table></blockquote>
*
@ -136,27 +155,35 @@
* file channel connected to the same underlying file as the {@link java.io}
* class.
*
* <a name="multiplex"></a>
* <blockquote><table cellspacing=1 cellpadding=0 summary="Lists multiplexed, non-blocking channels and their descriptions">
* <tr><th align="left">Multiplexed, non-blocking I/O</th><th align="left"><p>Description</th></tr>
* <tr><td valign=top>{@link java.nio.channels.SelectableChannel}</td>
* <a id="multiplex"></a>
* <blockquote><table class="borderless">
* <caption style="display:none">
* Lists multiplexed, non-blocking channels and their descriptions</caption>
* <tr><th style="text-align:left">Multiplexed, non-blocking I/O</th>
* <th style="text-align:left">Description</th></tr>
* <tr><td style="vertical-align:top">{@link java.nio.channels.SelectableChannel}</td>
* <td>A channel that can be multiplexed</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.channels.DatagramChannel}</td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;{@link java.nio.channels.DatagramChannel}</td>
* <td>A channel to a datagram-oriented socket</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.channels.Pipe.SinkChannel}</td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;{@link java.nio.channels.Pipe.SinkChannel}</td>
* <td>The write end of a pipe</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.channels.Pipe.SourceChannel}</td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;{@link java.nio.channels.Pipe.SourceChannel}</td>
* <td>The read end of a pipe</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.channels.ServerSocketChannel}&nbsp;&nbsp;</td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;{@link java.nio.channels.ServerSocketChannel}&nbsp;&nbsp;</td>
* <td>A channel to a stream-oriented listening socket</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.channels.SocketChannel}</td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;{@link java.nio.channels.SocketChannel}</td>
* <td>A channel for a stream-oriented connecting socket</td></tr>
* <tr><td valign=top>{@link java.nio.channels.Selector}</td>
* <tr><td style="vertical-align:top">{@link java.nio.channels.Selector}</td>
* <td>A multiplexor of selectable channels</td></tr>
* <tr><td valign=top>{@link java.nio.channels.SelectionKey}</td>
* <tr><td style="vertical-align:top">{@link java.nio.channels.SelectionKey}</td>
* <td>A token representing the registration <br> of a channel
* with&nbsp;a&nbsp;selector</td></tr>
* <tr><td valign=top>{@link java.nio.channels.Pipe}</td>
* <tr><td style="vertical-align:top">{@link java.nio.channels.Pipe}</td>
* <td>Two channels that form a unidirectional&nbsp;pipe</td></tr>
* </table></blockquote>
*
@ -222,19 +249,27 @@
* directly; custom channel classes should extend the appropriate {@link
* java.nio.channels.SelectableChannel} subclasses defined in this package.
*
* <a name="async"></a>
* <a id="async"></a>
*
* <blockquote><table cellspacing=1 cellpadding=0 summary="Lists asynchronous channels and their descriptions">
* <tr><th align="left">Asynchronous I/O</th><th align="left">Description</th></tr>
* <tr><td valign=top>{@link java.nio.channels.AsynchronousFileChannel}</td>
* <blockquote><table class="borderless">
* <caption style="display:none">
* Lists asynchronous channels and their descriptions</caption>
* <tr><th style="text-align:left">
* Asynchronous I/O</th><th style="text-align:left">Description</th></tr>
* <tr><td style="vertical-align:top">
* {@link java.nio.channels.AsynchronousFileChannel}</td>
* <td>An asynchronous channel for reading, writing, and manipulating a file</td></tr>
* <tr><td valign=top>{@link java.nio.channels.AsynchronousSocketChannel}</td>
* <tr><td style="vertical-align:top">
* {@link java.nio.channels.AsynchronousSocketChannel}</td>
* <td>An asynchronous channel to a stream-oriented connecting socket</td></tr>
* <tr><td valign=top>{@link java.nio.channels.AsynchronousServerSocketChannel}&nbsp;&nbsp;</td>
* <tr><td style="vertical-align:top">
* {@link java.nio.channels.AsynchronousServerSocketChannel}&nbsp;&nbsp;</td>
* <td>An asynchronous channel to a stream-oriented listening socket</td></tr>
* <tr><td valign=top>{@link java.nio.channels.CompletionHandler}</td>
* <tr><td style="vertical-align:top">
* {@link java.nio.channels.CompletionHandler}</td>
* <td>A handler for consuming the result of an asynchronous operation</td></tr>
* <tr><td valign=top>{@link java.nio.channels.AsynchronousChannelGroup}</td>
* <tr><td style="vertical-align:top">
* {@link java.nio.channels.AsynchronousChannelGroup}</td>
* <td>A grouping of asynchronous channels for the purpose of resource sharing</td></tr>
* </table></blockquote>
*
@ -277,7 +312,6 @@
* so that sophisticated users can take advantage of operating-system-specific
* asynchronous I/O mechanisms when very high performance is required.
*
* <hr width="80%">
* <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.

View File

@ -27,17 +27,19 @@
* 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>
* <blockquote><table class="borderless">
* <caption style="display:none">Summary of charsets, decoders, and encoders in this package</caption>
* <tr><th style="text-align:left">Class name</th>
* <th style="text-align:left"><th>DescriptiPath
* <tr><td style="vertical-align: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>
* <tr><td style="vertical-align:top">{@link java.nio.charset.CharsetDecoder}</td>
* <td>Decodes bytes into characters</td></tr>
* <tr><td valign=top>{@link java.nio.charset.CharsetEncoder}&nbsp;&nbsp;</td>
* <tr><td style="vertical-align:top">{@link java.nio.charset.CharsetEncoder}</td>
* <td>Encodes characters into bytes</td></tr>
* <tr><td valign=top>{@link java.nio.charset.CoderResult}&nbsp;&nbsp;</td>
* <tr><td style="vertical-align:top">{@link java.nio.charset.CoderResult}</td>
* <td>Describes coder results</td></tr>
* <tr><td valign=top>{@link java.nio.charset.CodingErrorAction}&nbsp;&nbsp;</td>
* <tr><td style="vertical-align:top">{@link java.nio.charset.CodingErrorAction}</td>
* <td>Describes actions to take when<br>coding errors are detected</td></tr>
*
* </table></blockquote>

View File

@ -26,25 +26,41 @@
/**
* Interfaces and classes providing access to file and file system attributes.
*
* <blockquote><table cellspacing=1 cellpadding=0 summary="Attribute views">
* <tr><th align="left">Attribute views</th><th align="left">Description</th></tr>
* <tr><td valign=top><i>{@link java.nio.file.attribute.AttributeView}</i></td>
* <blockquote><table class="borderless">
* <caption style="display:none">Attribute views</caption>
* <tr><th style="text-align:left">Attribute views</th>
* <th style="text-align:left">Description</th></tr>
* <tr><td><i>{@link java.nio.file.attribute.AttributeView}</i></td>
* <td>Can read or update non-opaque values associated with objects in a file system</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;<i>{@link java.nio.file.attribute.FileAttributeView}</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;<i>{@link java.nio.file.attribute.FileAttributeView}</i></td>
* <td>Can read or update file attributes</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.file.attribute.BasicFileAttributeView}&nbsp;&nbsp;</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;
* <i>{@link java.nio.file.attribute.BasicFileAttributeView}&nbsp;&nbsp;</i></td>
* <td>Can read or update a basic set of file attributes</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.file.attribute.PosixFileAttributeView}&nbsp;&nbsp;</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
* <i>{@link java.nio.file.attribute.PosixFileAttributeView}&nbsp;&nbsp;</i></td>
* <td>Can read or update POSIX defined file attributes</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.file.attribute.DosFileAttributeView}&nbsp;&nbsp;</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
* <i>{@link java.nio.file.attribute.DosFileAttributeView}&nbsp;&nbsp;</i></td>
* <td>Can read or update FAT file attributes</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.file.attribute.FileOwnerAttributeView}&nbsp;&nbsp;</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;
* <i>{@link java.nio.file.attribute.FileOwnerAttributeView}&nbsp;&nbsp;</i></td>
* <td>Can read or update the owner of a file</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.file.attribute.AclFileAttributeView}&nbsp;&nbsp;</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
* <i>{@link java.nio.file.attribute.AclFileAttributeView}&nbsp;&nbsp;</i></td>
* <td>Can read or update Access Control Lists</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;<i>{@link java.nio.file.attribute.UserDefinedFileAttributeView}&nbsp;&nbsp;</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;
* <i>{@link java.nio.file.attribute.UserDefinedFileAttributeView}&nbsp;&nbsp;</i></td>
* <td>Can read or update user-defined file attributes</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;<i>{@link java.nio.file.attribute.FileStoreAttributeView}</i></td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;<i>{@link java.nio.file.attribute.FileStoreAttributeView}</i></td>
* <td>Can read or update file system attributes</td></tr>
* </table></blockquote>
*

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2017, 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
@ -33,7 +33,7 @@
* package is used by service provider implementors wishing to extend the
* platform default provider, or to construct other provider implementations. </p>
*
* <h3><a name="links">Symbolic Links</a></h3>
* <h3><a id="links">Symbolic Links</a></h3>
* <p> Many operating systems and file systems support for <em>symbolic links</em>.
* A symbolic link is a special file that serves as a reference to another file.
* For the most part, symbolic links are transparent to applications and
@ -45,7 +45,7 @@
* that are semantically close but support for these other types of links is
* not included in this package. </p>
*
* <h3><a name="interop">Interoperability</a></h3>
* <h3><a id="interop">Interoperability</a></h3>
* <p> The {@link java.io.File} class defines the {@link java.io.File#toPath
* toPath} method to construct a {@link java.nio.file.Path} by converting
* the abstract path represented by the {@code java.io.File} object. The resulting
@ -65,7 +65,7 @@
* or on some other machine. The exact nature of any such inconsistencies are
* system-dependent and are therefore unspecified. </p>
*
* <h3><a name="integrity">Synchronized I/O File Integrity</a></h3>
* <h3><a id="integrity">Synchronized I/O File Integrity</a></h3>
* <p> The {@link java.nio.file.StandardOpenOption#SYNC SYNC} and {@link
* java.nio.file.StandardOpenOption#DSYNC DSYNC} options are used when opening a file
* to require that updates to the file are written synchronously to the underlying

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2017, 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
@ -60,30 +60,33 @@
* the contents of which can be used to extend the platform's default
* implementations or to construct alternative implementations.
*
* <a name="buffers"> </a>
* <a id="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>{@link java.nio.Buffer}</td>
* <blockquote><table class="borderless">
* <caption style="display:none">Description of the various buffers</caption>
* <tr><th style="text-align:left">Buffers</th>
* <th style="text-align:left">Description</th></tr>
* <tr><td style="vertical-align:top">{@link java.nio.Buffer}</td>
* <td>Position, limit, and capacity;
* <br>clear, flip, rewind, and mark/reset</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.ByteBuffer}</td>
* <tr><td style="vertical-align:top">&nbsp;&nbsp;{@link java.nio.ByteBuffer}</td>
* <td>Get/put, compact, views; allocate,&nbsp;wrap</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;&nbsp;&nbsp;{@link java.nio.MappedByteBuffer}&nbsp;&nbsp;</td>
* <tr><td style="vertical-align:top">
* &nbsp;&nbsp;&nbsp;&nbsp;{@link java.nio.MappedByteBuffer}&nbsp;&nbsp;</td>
* <td>A byte buffer mapped to a file</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.CharBuffer}</td>
* <tr><td style="vertical-align:top">&nbsp;&nbsp;{@link java.nio.CharBuffer}</td>
* <td>Get/put, compact; allocate,&nbsp;wrap</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.DoubleBuffer}</td>
* <tr><td style="vertical-align:top">&nbsp;&nbsp;{@link java.nio.DoubleBuffer}</td>
* <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.FloatBuffer}</td>
* <tr><td style="vertical-align:top">&nbsp;&nbsp;{@link java.nio.FloatBuffer}</td>
* <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.IntBuffer}</td>
* <tr><td style="vertical-align:top">&nbsp;&nbsp;{@link java.nio.IntBuffer}</td>
* <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.LongBuffer}</td>
* <tr><td style="vertical-align:top">&nbsp;&nbsp;{@link java.nio.LongBuffer}</td>
* <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
* <tr><td valign=top>&nbsp;&nbsp;{@link java.nio.ShortBuffer}</td>
* <tr><td style="vertical-align:top">&nbsp;&nbsp;{@link java.nio.ShortBuffer}</td>
* <td>&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;'</td></tr>
* <tr><td valign=top>{@link java.nio.ByteOrder}</td>
* <tr><td style="vertical-align:top">{@link java.nio.ByteOrder}</td>
* <td>Typesafe enumeration for&nbsp;byte&nbsp;orders</td></tr>
* </table></blockquote>
*

View File

@ -74,6 +74,7 @@ import sun.security.util.SecurityConstants;
* @see AccessController
*
* @author Roland Schemers
* @since 1.2
*/
public final class AccessControlContext {

View File

@ -38,6 +38,7 @@ package java.security;
*
* @author Li Gong
* @author Roland Schemers
* @since 1.2
*/
public class AccessControlException extends SecurityException {

View File

@ -259,6 +259,7 @@ import jdk.internal.reflect.Reflection;
*
* @author Li Gong
* @author Roland Schemers
* @since 1.2
*/
public final class AccessController {

View File

@ -61,11 +61,17 @@ import java.util.Objects;
* </ul>
*
* <P>In case the client does not explicitly initialize the
* AlgorithmParameterGenerator
* (via a call to an {@code init} method), each provider must supply (and
* document) a default initialization. For example, the Sun provider uses a
* default modulus prime size of 1024 bits for the generation of DSA
* parameters.
* AlgorithmParameterGenerator (via a call to an {@code init} method),
* each provider must supply (and document) a default initialization.
* See the Keysize Restriction sections of the
* <a href="{@docRoot}/../technotes/guides/security/SunProviders.html">
* JDK Providers</a>
* document for information on the AlgorithmParameterGenerator defaults
* used by JDK providers.
* However, note that defaults may vary across different providers.
* Additionally, the default value for a provider may change in a future
* version. Therefore, it is recommended to explicitly initialize the
* AlgorithmParameterGenerator instead of relying on provider-specific defaults.
*
* <p> Every implementation of the Java platform is required to support the
* following standard {@code AlgorithmParameterGenerator} algorithms and

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2017, 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
@ -39,8 +39,15 @@ import java.security.spec.AlgorithmParameterSpec;
* <p> In case the client does not explicitly initialize the
* AlgorithmParameterGenerator (via a call to an {@code engineInit}
* method), each provider must supply (and document) a default initialization.
* For example, the Sun provider uses a default modulus prime size of 1024
* bits for the generation of DSA parameters.
* See the Keysize Restriction sections of the
* <a href="{@docRoot}/../technotes/guides/security/SunProviders.html">
* JDK Providers</a>
* document for information on the AlgorithmParameterGenerator defaults
* used by JDK providers.
* However, note that defaults may vary across different providers.
* Additionally, the default value for a provider may change in a future
* version. Therefore, it is recommended to explicitly initialize the
* AlgorithmParameterGenerator instead of relying on provider-specific defaults.
*
* @author Jan Luehe
*

View File

@ -51,6 +51,7 @@ import sun.security.util.SecurityConstants;
*
*
* @author Roland Schemers
* @since 1.2
*
* @serial exclude
*/

View File

@ -62,6 +62,7 @@ import java.util.concurrent.ConcurrentHashMap;
*
* @author Marianne Mueller
* @author Roland Schemers
* @since 1.2
*/
public abstract class BasicPermission extends Permission

View File

@ -56,6 +56,7 @@ import java.util.Date;
* the certificate and satisfy itself of its validity.
*
* @author Benjamin Renaud
* @since 1.1
* @deprecated A new certificate handling package is created in the Java platform.
* This Certificate interface is entirely deprecated and
* is here to allow for a smooth transition to the new

View File

@ -44,6 +44,7 @@ import sun.net.util.URLUtil;
*
* @author Li Gong
* @author Roland Schemers
* @since 1.2
*/
public class CodeSource implements java.io.Serializable {

View File

@ -29,6 +29,7 @@ package java.security;
* This is the generic Message Digest exception.
*
* @author Benjamin Renaud
* @since 1.1
*/
public class DigestException extends GeneralSecurityException {

View File

@ -59,6 +59,7 @@ import java.io.ByteArrayInputStream;
* @see DigestOutputStream
*
* @author Benjamin Renaud
* @since 1.2
*/
public class DigestInputStream extends FilterInputStream {

View File

@ -51,6 +51,7 @@ import java.io.ByteArrayOutputStream;
* @see DigestInputStream
*
* @author Benjamin Renaud
* @since 1.2
*/
public class DigestOutputStream extends FilterOutputStream {

View File

@ -31,6 +31,7 @@ package java.security;
* security-related exception classes that extend from it.
*
* @author Jan Luehe
* @since 1.2
*/
public class GeneralSecurityException extends Exception {

View File

@ -38,6 +38,7 @@ package java.security;
*
* @author Roland Schemers
* @author Li Gong
* @since 1.2
*/
public interface Guard {

View File

@ -44,6 +44,7 @@ package java.security;
*
* @author Roland Schemers
* @author Li Gong
* @since 1.2
*/
public class GuardedObject implements java.io.Serializable {

View File

@ -51,6 +51,7 @@ import java.util.*;
* @see Principal
*
* @author Benjamin Renaud
* @since 1.1
* @deprecated This class is no longer used. Its functionality has been
* replaced by {@code java.security.KeyStore}, the
* {@code java.security.cert} package, and

View File

@ -55,6 +55,7 @@ import java.util.Properties;
* @see Key
*
* @author Benjamin Renaud
* @since 1.1
*
* @deprecated This class is no longer used. Its functionality has been
* replaced by {@code java.security.KeyStore}, the

View File

@ -31,6 +31,7 @@ package java.security;
* length, uninitialized, etc).
*
* @author Benjamin Renaud
* @since 1.1
*/
public class InvalidKeyException extends KeyException {

View File

@ -31,6 +31,7 @@ package java.security;
* to a method.
*
* @author Benjamin Renaud
* @since 1.1
*/
public class InvalidParameterException extends IllegalArgumentException {

View File

@ -97,6 +97,7 @@ package java.security;
* @see Signer
*
* @author Benjamin Renaud
* @since 1.1
*/
public interface Key extends java.io.Serializable {

View File

@ -33,6 +33,7 @@ package java.security;
* @see KeyManagementException
*
* @author Benjamin Renaud
* @since 1.1
*/
public class KeyException extends GeneralSecurityException {

View File

@ -38,6 +38,7 @@ package java.security;
* </ul>
*
* @author Benjamin Renaud
* @since 1.1
*
* @see Key
* @see KeyException

View File

@ -36,6 +36,7 @@ import java.util.*;
* @see PrivateKey
*
* @author Benjamin Renaud
* @since 1.1
*/
public final class KeyPair implements java.io.Serializable {

View File

@ -95,8 +95,15 @@ import sun.security.util.Debug;
* <p>In case the client does not explicitly initialize the KeyPairGenerator
* (via a call to an {@code initialize} method), each provider must
* supply (and document) a default initialization.
* For example, the <i>Sun</i> provider uses a default modulus size (keysize)
* of 1024 bits for DSA key pairs.
* See the Keysize Restriction sections of the
* <a href="{@docRoot}/../technotes/guides/security/SunProviders.html">
* JDK Providers</a>
* document for information on the KeyPairGenerator defaults used by
* JDK providers.
* However, note that defaults may vary across different providers.
* Additionally, the default value for a provider may change in a future
* version. Therefore, it is recommended to explicitly initialize the
* KeyPairGenerator instead of relying on provider-specific defaults.
*
* <p>Note that this class is abstract and extends from
* {@code KeyPairGeneratorSpi} for historical reasons.
@ -121,6 +128,7 @@ import sun.security.util.Debug;
* other algorithms are supported.
*
* @author Benjamin Renaud
* @since 1.1
*
* @see java.security.spec.AlgorithmParameterSpec
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2017, 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
@ -39,10 +39,18 @@ import java.security.spec.AlgorithmParameterSpec;
* <p> In case the client does not explicitly initialize the KeyPairGenerator
* (via a call to an {@code initialize} method), each provider must
* supply (and document) a default initialization.
* For example, the <i>Sun</i> provider uses a default modulus size (keysize)
* of 1024 bits.
* See the Keysize Restriction sections of the
* <a href="{@docRoot}/../technotes/guides/security/SunProviders.html">
* JDK Providers</a>
* document for information on the KeyPairGenerator defaults used by
* JDK providers.
* However, note that defaults may vary across different providers.
* Additionally, the default value for a provider may change in a future
* version. Therefore, it is recommended to explicitly initialize the
* KeyPairGenerator instead of relying on provider-specific defaults.
*
* @author Benjamin Renaud
* @since 1.2
*
*
* @see KeyPairGenerator

View File

@ -96,6 +96,7 @@ import javax.crypto.SecretKey;
* other algorithms are supported.
*
* @author Benjamin Renaud
* @since 1.1
*
* @see DigestInputStream
* @see DigestOutputStream

View File

@ -43,6 +43,7 @@ import sun.security.jca.JCAUtil;
* <p> Implementations are free to implement the Cloneable interface.
*
* @author Benjamin Renaud
* @since 1.2
*
*
* @see MessageDigest

View File

@ -30,6 +30,7 @@ package java.security;
* requested but is not available in the environment.
*
* @author Benjamin Renaud
* @since 1.1
*/
public class NoSuchAlgorithmException extends GeneralSecurityException {

View File

@ -30,6 +30,7 @@ package java.security;
* requested but is not available in the environment.
*
* @author Benjamin Renaud
* @since 1.1
*/
public class NoSuchProviderException extends GeneralSecurityException {

View File

@ -60,6 +60,7 @@ package java.security;
*
* @author Marianne Mueller
* @author Roland Schemers
* @since 1.2
*/
public abstract class Permission implements Guard, java.io.Serializable {

View File

@ -91,6 +91,7 @@ import java.util.stream.StreamSupport;
*
*
* @author Roland Schemers
* @since 1.2
*/
public abstract class PermissionCollection implements java.io.Serializable {

View File

@ -75,6 +75,7 @@ import java.io.IOException;
*
* @author Marianne Mueller
* @author Roland Schemers
* @since 1.2
*
* @serial exclude
*/

View File

@ -78,6 +78,7 @@ import sun.security.util.SecurityConstants;
*
* @author Roland Schemers
* @author Gary Ellison
* @since 1.2
* @see java.security.Provider
* @see java.security.ProtectionDomain
* @see java.security.Permission

View File

@ -35,6 +35,7 @@ import javax.security.auth.Subject;
* @see java.security.cert.X509Certificate
*
* @author Li Gong
* @since 1.1
*/
public interface Principal {

View File

@ -54,6 +54,7 @@ package java.security;
*
* @author Benjamin Renaud
* @author Josh Bloch
* @since 1.1
*/
public interface PrivateKey extends Key, javax.security.auth.Destroyable {

View File

@ -34,6 +34,7 @@ package java.security;
* throw checked exceptions must use {@code PrivilegedExceptionAction}
* instead.
*
* @since 1.2
* @see AccessController
* @see AccessController#doPrivileged(PrivilegedAction)
* @see PrivilegedExceptionAction

View File

@ -43,6 +43,7 @@ package java.security;
* <i>cause</i>, and may be accessed via the {@link Throwable#getCause()}
* method, as well as the aforementioned "legacy method."
*
* @since 1.2
* @see PrivilegedExceptionAction
* @see AccessController#doPrivileged(PrivilegedExceptionAction)
* @see AccessController#doPrivileged(PrivilegedExceptionAction,AccessControlContext)

View File

@ -35,6 +35,7 @@ package java.security;
* computations that do not throw
* checked exceptions should use {@code PrivilegedAction} instead.
*
* @since 1.2
* @see AccessController
* @see AccessController#doPrivileged(PrivilegedExceptionAction)
* @see AccessController#doPrivileged(PrivilegedExceptionAction,

View File

@ -59,6 +59,7 @@ import sun.security.util.SecurityConstants;
* @author Li Gong
* @author Roland Schemers
* @author Gary Ellison
* @since 1.2
*/
public class ProtectionDomain {

View File

@ -102,6 +102,7 @@ import java.util.function.Function;
*
* @author Benjamin Renaud
* @author Andreas Sterbenz
* @since 1.1
*/
public abstract class Provider extends Properties {

View File

@ -32,6 +32,7 @@ package java.security;
* throw specialized, provider-specific runtime errors.
*
* @author Benjamin Renaud
* @since 1.1
*/
public class ProviderException extends RuntimeException {

View File

@ -34,6 +34,7 @@ package java.security;
* See, for example, the DSAPublicKey interface in
* {@code java.security.interfaces}.
*
* @since 1.1
* @see Key
* @see PrivateKey
* @see Certificate

View File

@ -39,6 +39,7 @@ import sun.security.util.Debug;
*
* @author Li Gong
* @author Roland Schemers
* @since 1.2
*/
public class SecureClassLoader extends ClassLoader {
/*

View File

@ -143,6 +143,7 @@ import sun.security.util.Debug;
*
* @author Benjamin Renaud
* @author Josh Bloch
* @since 1.1
*/
public class SecureRandom extends java.util.Random {

View File

@ -45,6 +45,7 @@ import sun.security.jca.*;
* {@code conf/security/java.security} in the Java installation directory.
*
* @author Benjamin Renaud
* @since 1.1
*/
public final class Security {

View File

@ -333,6 +333,7 @@ import java.util.StringTokenizer;
*
* @author Marianne Mueller
* @author Roland Schemers
* @since 1.2
*/
public final class SecurityPermission extends BasicPermission {

View File

@ -113,6 +113,7 @@ import sun.security.jca.GetInstance.Instance;
* other algorithms are supported.
*
* @author Benjamin Renaud
* @since 1.1
*
*/

View File

@ -29,6 +29,7 @@ package java.security;
* This is the generic Signature exception.
*
* @author Benjamin Renaud
* @since 1.1
*/
public class SignatureException extends GeneralSecurityException {

View File

@ -44,6 +44,7 @@ import sun.security.jca.JCAUtil;
* of a particular signature algorithm.
*
* @author Benjamin Renaud
* @since 1.2
*
*
* @see Signature

View File

@ -114,6 +114,7 @@ import java.io.*;
* @see Signature
*
* @author Li Gong
* @since 1.2
*/
public final class SignedObject implements Serializable {

View File

@ -38,6 +38,7 @@ import java.io.*;
* @see Identity
*
* @author Benjamin Renaud
* @since 1.1
*
* @deprecated This class is no longer used. Its functionality has been
* replaced by {@code java.security.KeyStore}, the

View File

@ -96,6 +96,7 @@ import java.security.cert.*;
*
*
* @author Roland Schemers
* @since 1.2
*/
public final class UnresolvedPermission extends Permission

View File

@ -43,6 +43,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
*
*
* @author Roland Schemers
* @since 1.2
*
* @serial include
*/

View File

@ -82,6 +82,7 @@ import java.security.Principal;
* @see java.security.acl.Acl#getPermissions
*
* @author Satish Dharmaraj
* @since 1.1
*
* @deprecated This package has been replaced by {@code java.security.Policy}
* and related classes since 1.2.

View File

@ -50,6 +50,7 @@ import java.security.Principal;
* @see java.security.acl.Acl
*
* @author Satish Dharmaraj
* @since 1.1
*
* @deprecated This package has been replaced by {@code java.security.Policy}
* and related classes since 1.2.

View File

@ -30,6 +30,7 @@ package java.security.acl;
* non-existent ACL (Access Control List).
*
* @author Satish Dharmaraj
* @since 1.1
*
* @deprecated This package has been replaced by {@code java.security.Policy}
* and related classes since 1.2.

View File

@ -39,6 +39,7 @@ import java.security.Principal;
* Principal or Group.
*
* @author Satish Dharmaraj
* @since 1.1
*
* @deprecated This package has been replaced by {@code java.security.Policy}
* and related classes since 1.2.

View File

@ -32,6 +32,7 @@ package java.security.acl;
* @see java.security.acl.Owner#deleteOwner
*
* @author Satish Dharmaraj
* @since 1.1
*
* @deprecated This package has been replaced by {@code java.security.Policy}
* and related classes since 1.2.

View File

@ -31,6 +31,7 @@ package java.security.acl;
* the object, but the Principal attempting the modification is not an owner.
*
* @author Satish Dharmaraj
* @since 1.1
*
* @deprecated This package has been replaced by {@code java.security.Policy}
* and related classes since 1.2.

View File

@ -34,6 +34,7 @@ import java.security.Principal;
* interface.) The initial owner Principal should be specified as an
* argument to the constructor of the class implementing this interface.
*
* @since 1.1
* @see java.security.acl.Acl
*
* @deprecated This package has been replaced by {@code java.security.Policy}

View File

@ -31,6 +31,7 @@ package java.security.acl;
* a particular type of access to a resource.
*
* @author Satish Dharmaraj
* @since 1.1
*
* @deprecated This package has been replaced by {@code java.security.Policy}
* and related classes since 1.2.

View File

@ -31,6 +31,7 @@ import java.security.GeneralSecurityException;
* CRL (Certificate Revocation List) Exception.
*
* @author Hemma Prafullchandra
* @since 1.2
*/
public class CRLException extends GeneralSecurityException {

View File

@ -57,6 +57,7 @@ import sun.security.x509.X509CertImpl;
* @see CertificateFactory
*
* @author Hemma Prafullchandra
* @since 1.2
*/
public abstract class Certificate implements java.io.Serializable {

View File

@ -30,6 +30,7 @@ package java.security.cert;
* occurs while attempting to encode a certificate.
*
* @author Hemma Prafullchandra
* @since 1.2
*/
public class CertificateEncodingException extends CertificateException {

View File

@ -31,6 +31,7 @@ import java.security.GeneralSecurityException;
* This exception indicates one of a variety of certificate problems.
*
* @author Hemma Prafullchandra
* @since 1.2
* @see Certificate
*/
public class CertificateException extends GeneralSecurityException {

View File

@ -32,6 +32,7 @@ package java.security.cert;
* of the certificate.
*
* @author Hemma Prafullchandra
* @since 1.2
*/
public class CertificateExpiredException extends CertificateException {

View File

@ -32,6 +32,7 @@ package java.security.cert;
* validity period.
*
* @author Hemma Prafullchandra
* @since 1.2
*/
public class CertificateNotYetValidException extends CertificateException {

View File

@ -31,6 +31,7 @@ package java.security.cert;
* are found in the Certificate.
*
* @author Hemma Prafullchandra
* @since 1.2
*/
public class CertificateParsingException extends CertificateException {

View File

@ -102,6 +102,7 @@ import sun.security.x509.X509CRLImpl;
* }</pre>
*
* @author Hemma Prafullchandra
* @since 1.2
*
*
* @see CRL

View File

@ -62,6 +62,7 @@ import sun.security.x509.X509CRLEntryImpl;
* @see X509Extension
*
* @author Hemma Prafullchandra
* @since 1.2
*/
public abstract class X509CRLEntry implements X509Extension {

View File

@ -95,6 +95,7 @@ import sun.security.x509.X509CertImpl;
* </pre>
*
* @author Hemma Prafullchandra
* @since 1.2
*
*
* @see Certificate

View File

@ -65,6 +65,7 @@ import java.util.Set;
* be handled by a <em>Class</em> that understands the extension.
*
* @author Hemma Prafullchandra
* @since 1.2
*/
public interface X509Extension {

View File

@ -35,6 +35,7 @@ package java.security.interfaces;
*
* @author Benjamin Renaud
* @author Josh Bloch
* @since 1.1
*/
public interface DSAKey {

View File

@ -65,6 +65,7 @@ import java.security.*;
* <p>Note: Some earlier implementations of this interface may not support
* larger sizes of DSA parameters such as 2048 and 3072-bit.
*
* @since 1.1
* @see java.security.KeyPairGenerator
*/
public interface DSAKeyPairGenerator {

View File

@ -38,6 +38,7 @@ import java.math.BigInteger;
*
* @author Benjamin Renaud
* @author Josh Bloch
* @since 1.1
*/
public interface DSAParams {

Some files were not shown because too many files have changed in this diff Show More