ptolemy.util
Class ClassUtilities

java.lang.Object
  extended by ptolemy.util.ClassUtilities

public class ClassUtilities
extends java.lang.Object

A collection of utilities for manipulating classes. These utilities do not depend on any other ptolemy.* packages.

Since:
Ptolemy II 4.0
Version:
$Id: ClassUtilities.java,v 1.24 2005/10/24 19:09:12 cxh Exp $
Author:
Christopher Hylands
Accepted Rating:
Green (cxh)
Proposed Rating:
Green (cxh)

Method Summary
static java.net.URL jarURLEntryResource(java.lang.String jarURLString)
          Lookup a jar URL and return the resource.
static java.lang.String lookupClassAsResource(java.lang.String necessaryClass)
          Given a dot separated classname, return the jar file or directory where the class can be found.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

jarURLEntryResource

public static java.net.URL jarURLEntryResource(java.lang.String jarURLString)
                                        throws java.io.IOException
Lookup a jar URL and return the resource. A resource is a file such as a class file or image file that is found in the classpath. A jar URL is a URL that refers to a resource in a jar file. For example, file://./foo.jar!/a/b/c.class is a jar URL that refers to the a/b/c.class resource in foo.jar. If this method is called with file://./foo.jar!/a/b/c.class then it will return a/b/c.class if a/b/c.class can be found as a resource in the class loader that loaded this class (ptolemy.util.ClassUtilities). If the resource cannot be found, then an IOException is thrown. If the jarURLString parameter does not contain !/, then return null. Note that everything before the !/ is removed before searching the classpath.

This method is necessary because Web Start uses jar URL, and there are some cases where if we have a jar URL, then we may need to strip off the jar:url!/ part so that we can search for the {entry} as a resource.

Parameters:
jarURLString - The string containing the jar URL.
Returns:
The resource, if any.If the spec string does not contain !/, then return null.
Throws:
java.io.IOException - If this method cannot convert the specification to a URL.
See Also:
JarURLConnection

lookupClassAsResource

public static java.lang.String lookupClassAsResource(java.lang.String necessaryClass)
Given a dot separated classname, return the jar file or directory where the class can be found.

Parameters:
necessaryClass - The dot separated class name, for example "ptolemy.util.ClassUtilities"
Returns:
If the class can be found as a resource, return the directory or jar file where the necessary class can be found. otherwise, return null. If the resource is found in a directory, then the return value will always have forward slashes, it will never use backslashes.