jdk Udiff src/java.base/share/classes/sun/misc/ExtensionDependency.java (original) (raw)
@@ -43,30 +43,30 @@ import java.net.URL; import java.net.MalformedURLException; import sun.net.www.ParseUtil;
/**
- This class checks dependent extensions a particular jar file may have
- declared through its manifest attributes.
- Jar file declared dependent extensions through the extension-list
- attribute. The extension-list contains a list of keys used to
- fetch the other attributes describing the required extension.
- If key is the extension key declared in the extension-list
- attribute, the following describing attribute can be found in
- the manifest :
- key-Extension-Name: (Specification package name)
- key-Specification-Version: (Specification-Version)
- key-Implementation-Version: (Implementation-Version)
- key-Implementation-Vendor-Id: (Imlementation-Vendor-Id)
- key-Implementation-Version: (Implementation version)
- key-Implementation-URL: (URL to download the requested extension)
- the manifest:
- key-Extension-Name: (Specification package name)
- key-Specification-Version: (Specification-Version)
- key-Implementation-Version: (Implementation-Version)
- key-Implementation-Vendor-Id: (Imlementation-Vendor-Id)
- key-Implementation-Version: (Implementation version)
- key-Implementation-URL: (URL to download the requested extension)
- @deprecated this class will be removed in a future release.
- @author Jerome Dochez */ @Deprecated
@@ -74,14 +74,13 @@
/* Callbak interfaces to delegate installation of missing extensions */
private static Vector<ExtensionInstallationProvider> providers;
/**
* <p> * Register an ExtensionInstallationProvider. The provider is responsible * for handling the installation (upgrade) of any missing extensions.
* </p>
public synchronized static void addExtensionInstallationProvider (ExtensionInstallationProvider eip) {* * @param eip ExtensionInstallationProvider implementation */
@@ -90,25 +89,22 @@ } providers.add(eip); }
/**
* <p> * Unregister a previously installed installation provider
* </p> */
public synchronized static void removeExtensionInstallationProvider (ExtensionInstallationProvider eip) { providers.remove(eip); }
/**
* <p> * Checks the dependencies of the jar file on installed extension.
* </p>
* @param jarFile containing the attriutes declaring the dependencies
*
public static boolean checkExtensionsDependencies(JarFile jar) { if (providers == null) { // no need to bother, nobody is registered to install missing* @param jar containing the attributes declaring the dependencies */
@@ -180,13 +176,12 @@ return result; }
/*
* <p> * Check that a particular dependency on an extension is satisfied.
* </p>
* * @param extensionName is the key used for the attributes in the manifest * @param attr is the attributes of the manifest file * * @return true if the dependency is satisfied by the installed extensions */
@@ -202,14 +197,13 @@ ExtensionInfo reqInfo = new ExtensionInfo(extensionName, attr); return installExtension(reqInfo, null); }
/*
* <p> * Check if a particular extension is part of the currently installed * extensions.
* </p>
* * @param extensionName is the key for the attributes in the manifest * @param attr is the attributes of the manifest * * @return true if the requested extension is already installed */
@@ -260,15 +254,13 @@ } return false; }
/*
* <p> * Check if the requested extension described by the attributes * in the manifest under the key extensionName is compatible with * the jar file.
* </p> * * @param extensionName key in the attribute list * @param attr manifest file attributes * @param file installed extension jar file to compare the requested * extension against.
@@ -335,14 +327,12 @@ } return false; }
/*
* <p> * An required extension is missing, if an ExtensionInstallationProvider is * registered, delegate the installation of that particular extension to it.
* </p> * * @param reqInfo Missing extension information * @param instInfo Older installed version information * * @return true if the installation is successful
@@ -378,15 +368,13 @@ debug(reqInfo.name + " installation failed"); return false; }
/**
* <p> * Checks if the extension, that is specified in the extension-list in * the applet jar manifest, is already installed (i.e. exists in the * extension directory).
* </p> * * @param extensionName extension name in the extension-list * * @return the extension if it exists in the extension directory */
@@ -426,13 +414,11 @@ } }); } /** - *
* @return the java.ext.dirs property as a list of directory - *
*/ private static File[] getExtDirs() { String s = java.security.AccessController.doPrivileged( new sun.security.action.GetPropertyAction("java.ext.dirs"));@@ -454,13 +440,12 @@ debug("getExtDirs dirs.length " + dirs.length); return dirs; }
/*
* <p> * Scan the directories and return all files installed in those
* </p>
private static File[] getExtFiles(File[] dirs) throws IOException {* * @param dirs list of directories to scan * * @return the list of files installed in all the directories */
@@ -481,13 +466,11 @@ debug("getExtFiles ua.length " + ua.length); return ua; }
/*
* <p> * @return the list of installed extensions jar files
private File[] getInstalledExtensions() throws IOException { return AccessController.doPrivileged( new PrivilegedAction<File[]>() { public File[] run() {* </p> */
@@ -501,13 +484,11 @@ } }); }
/*
* <p> * Add the newly installed jar file to the extension class loader.
* </p> * * @param cl the current installed extension class loader * * @return true if successful */