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
See Also:
The GNU Lesser General Public License for details.

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 org.slf4j.Logger LOGGER
          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

LOGGER

private static final org.slf4j.Logger LOGGER
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 - if the class is not found

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.

Parameters:
className - the class to get
classPath - the lookup class path
Returns:
the filename for the class

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.

Parameters:
className - the class to get
Returns:
the filename for the class

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-2015