org.h2.util
Class ClassUtils

java.lang.Object
  extended by org.h2.util.ClassUtils

public class ClassUtils
extends java.lang.Object

This utility class contains functions related to class loading. There is a mechanism to restrict class loading.


Method Summary
static boolean isVarArgs(java.lang.reflect.Method m)
          Checks if the given method takes a variable number of arguments.
static java.lang.Class<?> loadSystemClass(java.lang.String className)
          Load a class without performing access rights checking.
static java.lang.Class<?> loadUserClass(java.lang.String className)
          Load a class, but check if it is allowed to load this class first.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

loadSystemClass

public static java.lang.Class<?> loadSystemClass(java.lang.String className)
                                          throws java.lang.ClassNotFoundException
Load a class without performing access rights checking.

Parameters:
className - the name of the class
Returns:
the class object
Throws:
java.lang.ClassNotFoundException

loadUserClass

public static java.lang.Class<?> loadUserClass(java.lang.String className)
                                        throws java.sql.SQLException
Load a class, but check if it is allowed to load this class first. To perform access rights checking, the system property h2.allowedClasses needs to be set to a list of class file name prefixes.

Parameters:
className - the name of the class
Returns:
the class object
Throws:
java.sql.SQLException

isVarArgs

public static boolean isVarArgs(java.lang.reflect.Method m)
Checks if the given method takes a variable number of arguments. For Java 1.4 and older, false is returned. Example:
 public static double mean(double... values)
 

Parameters:
m - the method to test
Returns:
true if the method takes a variable number of arguments.