org.crosswire.common.util
Class ClassUtil

java.lang.Object
  extended by org.crosswire.common.util.ClassUtil

public final class ClassUtil
extends Object

Various Java Class Utilities.

Author:
Joe Walker [joe at eireneh dot com]
See Also:
for license details.
The copyright to this program is held by it's authors.

Field Summary
private static String EXTENSION_CLASS
           
private static String EXTENSION_JAR
           
private static String EXTENSION_ZIP
           
private static char INNER_CLASS_SEPARATOR_CHAR
          The inner class separator character: $.
private static Logger log
          The log stream
private static char PACKAGE_SEPARATOR_CHAR
          The package separator character: ..
 
Constructor Summary
private ClassUtil()
          Prevent instantiation
 
Method Summary
static String findClasspathEntry(String classname)
          This function find the first matching filename for a Java class file from the classpath, if none is found it returns null.
static String findClasspathEntry(String classname, String classpath)
          This function finds the first matching filename for a Java class file from the classpath, if none is found it returns null.
static Class forName(String className)
          Gets the Class for the className in a way that works well for extensions.
static String getShortClassName(Class cls)
          Gets the class name minus the package name from a Class.
static String getShortClassName(Object object, String valueIfNull)
          Gets the class name minus the package name for an Object.
static String getShortClassName(String className)
          Gets the class name minus the package name from a String.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PACKAGE_SEPARATOR_CHAR

private static final char PACKAGE_SEPARATOR_CHAR

The package separator character: ..

See Also:
Constant Field Values

INNER_CLASS_SEPARATOR_CHAR

private static final char INNER_CLASS_SEPARATOR_CHAR

The inner class separator character: $.

See Also:
Constant Field Values

EXTENSION_CLASS

private static final String EXTENSION_CLASS
See Also:
Constant Field Values

EXTENSION_JAR

private static final String EXTENSION_JAR
See Also:
Constant Field Values

EXTENSION_ZIP

private static final String EXTENSION_ZIP
See Also:
Constant Field Values

log

private static final Logger log
The log stream

Constructor Detail

ClassUtil

private ClassUtil()
Prevent instantiation

Method Detail

forName

public static Class forName(String className)
                     throws ClassNotFoundException
Gets the Class for the className in a way that works well for extensions. See: http://www.javageeks.com/Papers/ClassForName/ClassForName.pdf

Parameters:
className - the class to get
Returns:
the found Class
Throws:
ClassNotFoundException

findClasspathEntry

public static String findClasspathEntry(String classname,
                                        String classpath)
This function finds the first matching filename for a Java class file from the classpath, if none is found it returns null.


findClasspathEntry

public static String findClasspathEntry(String classname)
This function find the first matching filename for a Java class file from the classpath, if none is found it returns null.


getShortClassName

public static String getShortClassName(Object object,
                                       String valueIfNull)

Gets the class name minus the package name for an Object.

Parameters:
object - the class to get the short name for, may be null
valueIfNull - the value to return if null
Returns:
the class name of the object without the package name, or the null value

getShortClassName

public static String getShortClassName(Class cls)

Gets the class name minus the package name from a Class.

Parameters:
cls - the class to get the short name for, must not be null
Returns:
the class name without the package name
Throws:
IllegalArgumentException - if the class is null

getShortClassName

public static String getShortClassName(String className)

Gets the class name minus the package name from a String.

The string passed in is assumed to be a class name - it is not checked.

Parameters:
className - the className to get the short name for, must not be empty or null
Returns:
the class name of the class without the package name
Throws:
IllegalArgumentException - if the className is empty

Copyright ยจ 2003-2007