Trc.entry(null,classname);
Class cls = null;
if (classname == null) {
throw new WSIFException("Error in getClassForName(): No class name specified!");
}
try {
if (classname.lastIndexOf('.') == -1) {
// Have to check for built in data types
if (classname.equals("char")) {
cls = char.class;
} else if (classname.equals("boolean")) {
cls = boolean.class;
} else if (classname.equals("byte")) {
cls = byte.class;
} else if (classname.equals("short")) {
cls = short.class;
} else if (classname.equals("int")) {
cls = int.class;
} else if (classname.equals("long")) {
cls = long.class;
} else if (classname.equals("float")) {
cls = float.class;
} else if (classname.equals("double")) {
cls = double.class;
} else {
// Load the class using the Thread context's class loader
cls =
Class.forName(classname, true, Thread.currentThread().getContextClassLoader());
}
} else {
cls =
Class.forName(classname, true, Thread.currentThread().getContextClassLoader());
}
} catch (ClassNotFoundException ex) {
Trc.exception(ex);
throw new WSIFException("Could not instantiate class '" + classname + "'", ex);
}
Trc.exit(cls);
return cls;
}