rendered paste bodyif (getPath()!=null) {
InputStream in = null;
try {
in = ResourceLoader.getResourceAsStream(ref);
} catch (RuntimeException e) {
throw new ClassNotFoundException("Could not locate path: "+ref);
}
try {
compiler.cook(in);
} catch (Exception e) {
throw new InterpreterException("Error compiling source: "
+e.getMessage(), e);
}
ClassLoader loader = compiler.getClassLoader();
Object o = null;
try {
Class<?> klass = loader.loadClass(name);
o = klass.newInstance();
}
catch (InstantiationException e) {
throw new InterpreterException("Instantiation err", e);
}
catch (IllegalAccessException e) {
throw new InterpreterException("Access err", e);
}
return (o!=null) ? (T)o : null;
}
else {
throw new ClassNotFoundException("Path hasn't been set for Interpreter");
}