27
28 import java.net.URLStreamHandlerFactory;
29
30 /**
31 * URL stream handler service-provider class.
32 *
33 *<p> A URL stream handler provider is a concrete subclass of this class that
34 * has a zero-argument constructor. URL stream handler providers may be
35 * installed in an instance of the Java platform by adding them to the
36 * application class path.
37 *
38 * <p> A URL stream handler provider identifies itself with a
39 * provider-configuration file named java.net.spi.URLStreamHandlerProvider in
40 * the resource directory META-INF/services. The file should contain a list of
41 * fully-qualified concrete URL stream handler provider class names, one per
42 * line.
43 *
44 * <p> URL stream handler providers are located at runtime, as specified in the
45 * {@linkplain java.net.URL#URL(String,String,int,String) URL constructor}.
46 *
47 * @since 1.9
48 */
49 public abstract class URLStreamHandlerProvider
50 implements URLStreamHandlerFactory
51 {
52 private static Void checkPermission() {
53 SecurityManager sm = System.getSecurityManager();
54 if (sm != null)
55 sm.checkPermission(new RuntimePermission("setFactory"));
56 return null;
57 }
58 private URLStreamHandlerProvider(Void ignore) { }
59
60 /**
61 * Initializes a new URL stream handler provider.
62 *
63 * @throws SecurityException
64 * If a security manager has been installed and it denies
65 * {@link RuntimePermission}{@code ("setFactory")}.
66 */
67 protected URLStreamHandlerProvider() {
|
27
28 import java.net.URLStreamHandlerFactory;
29
30 /**
31 * URL stream handler service-provider class.
32 *
33 *<p> A URL stream handler provider is a concrete subclass of this class that
34 * has a zero-argument constructor. URL stream handler providers may be
35 * installed in an instance of the Java platform by adding them to the
36 * application class path.
37 *
38 * <p> A URL stream handler provider identifies itself with a
39 * provider-configuration file named java.net.spi.URLStreamHandlerProvider in
40 * the resource directory META-INF/services. The file should contain a list of
41 * fully-qualified concrete URL stream handler provider class names, one per
42 * line.
43 *
44 * <p> URL stream handler providers are located at runtime, as specified in the
45 * {@linkplain java.net.URL#URL(String,String,int,String) URL constructor}.
46 *
47 * @since 9
48 */
49 public abstract class URLStreamHandlerProvider
50 implements URLStreamHandlerFactory
51 {
52 private static Void checkPermission() {
53 SecurityManager sm = System.getSecurityManager();
54 if (sm != null)
55 sm.checkPermission(new RuntimePermission("setFactory"));
56 return null;
57 }
58 private URLStreamHandlerProvider(Void ignore) { }
59
60 /**
61 * Initializes a new URL stream handler provider.
62 *
63 * @throws SecurityException
64 * If a security manager has been installed and it denies
65 * {@link RuntimePermission}{@code ("setFactory")}.
66 */
67 protected URLStreamHandlerProvider() {
|