Class ClassPathManager
- java.lang.Object
-
- org.glassfish.appclient.client.jws.boot.ClassPathManager
-
- Direct Known Subclasses:
ClassPathManager15
,ClassPathManager16
public abstract class ClassPathManager extends Object
Abstract superclass of classes that manage the class path needed to run the Java Web Start-aware ACC.Some details vary among releases of the Java runtime This abstract class and its concrete implementation subclasses isolate those dependencies.
- Author:
- tjquinn
-
-
Field Summary
Fields Modifier and Type Field Description static String
PERSISTENCE_JAR_CLASSES
-
Constructor Summary
Constructors Modifier Constructor Description protected
ClassPathManager(ClassLoader loader, boolean keepJWSClassLoader)
Returns a new instance of the manager.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected String
classNameToResourceName(String className)
Converts a class name to a resource name.abstract File
findContainingJar(URL resourceURL)
static ClassPathManager
getClassPathManager(boolean keepJWSClassLoader)
Returns the appropriate type of ClassPathManager.protected ClassLoader
getJnlpClassLoader()
protected ClassLoader
getJNLPClassLoader()
Returns the Java Web Start-provided class loader recorded when the class path manager was created.abstract ClassLoader
getParentClassLoader()
Returns the appropriate parent class loader for the ACC.protected boolean
keepJWSClassLoader()
URI
locateClass(String className)
Locates the URI for the JAR containing the specified classURL[]
locateDownloadedJars()
Reports URLs for the locally-cached copies of the JARs downloaded by Java Web Start needed for the ACC's class path and policy settings.URL[]
locateJARs(String classNamesString)
URL[]
locatePersistenceJARs()
protected URL
locateResource(String resourceName)
Finds a resource using the class's class loader.
-
-
-
Field Detail
-
PERSISTENCE_JAR_CLASSES
public static final String PERSISTENCE_JAR_CLASSES
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ClassPathManager
protected ClassPathManager(ClassLoader loader, boolean keepJWSClassLoader)
Returns a new instance of the manager.- Parameters:
loader
- the class loader provided by Java Web Start
-
-
Method Detail
-
getClassPathManager
public static ClassPathManager getClassPathManager(boolean keepJWSClassLoader)
Returns the appropriate type of ClassPathManager.- Returns:
- an instance of the correct implementation subclass class path manager
-
keepJWSClassLoader
protected boolean keepJWSClassLoader()
-
getJnlpClassLoader
protected ClassLoader getJnlpClassLoader()
-
locateClass
public URI locateClass(String className) throws IllegalAccessException, InvocationTargetException, MalformedURLException, URISyntaxException, ClassNotFoundException
Locates the URI for the JAR containing the specified class- Parameters:
className
- the name of the class to be located- Returns:
- the URI for the JAR file containing the class of interest
- Throws:
IllegalAccessException
InvocationTargetException
MalformedURLException
URISyntaxException
ClassNotFoundException
-
getParentClassLoader
public abstract ClassLoader getParentClassLoader()
Returns the appropriate parent class loader for the ACC.- Returns:
- the correct class loader instance
-
findContainingJar
public abstract File findContainingJar(URL resourceURL) throws IllegalArgumentException, URISyntaxException, MalformedURLException, IllegalAccessException, InvocationTargetException
-
getJNLPClassLoader
protected ClassLoader getJNLPClassLoader()
Returns the Java Web Start-provided class loader recorded when the class path manager was created.- Returns:
- the Java Web Start class loader
-
classNameToResourceName
protected String classNameToResourceName(String className)
Converts a class name to a resource name.- Parameters:
className
- the name of the class of interest in x.y.z format- Returns:
- the resource name in x/y/z.class format
-
locateResource
protected URL locateResource(String resourceName)
Finds a resource using the class's class loader.- Parameters:
resourceName
- the class to find- Returns:
- URL for the resource; null if not found
-
locateDownloadedJars
public URL[] locateDownloadedJars() throws ClassNotFoundException, URISyntaxException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, MalformedURLException
Reports URLs for the locally-cached copies of the JARs downloaded by Java Web Start needed for the ACC's class path and policy settings.- Returns:
- array of URLs, one entry for each downloaded JAR
- Throws:
ClassNotFoundException
URISyntaxException
NoSuchMethodException
IllegalAccessException
InvocationTargetException
MalformedURLException
-
locateJARs
public URL[] locateJARs(String classNamesString) throws IllegalAccessException, InvocationTargetException, MalformedURLException, URISyntaxException, ClassNotFoundException
-
locatePersistenceJARs
public URL[] locatePersistenceJARs() throws IllegalAccessException, InvocationTargetException, MalformedURLException, URISyntaxException, ClassNotFoundException
-
-