To restrict class access in scripts, define a subclass of ClassLoader. For example, SystemOnlyClassLoader class below is defined to allow access only to java.lang.System class. To use this ClassLoader just call the Pnuts::setClassLoader() method.
public class SystemOnlyClassLoader extends ClassLoader { public Class loadClass(String name, boolean resolve) throws ClassNotFoundException { if ("java.lang.System".equals(name)){ return findSystemClass(name); } else { throw new ClassNotFoundException(); } } }SystemOnlyClassLoader.java
Pnuts.setClassLoader(new SystemOnlyClassLoader()); // in Java % pnuts class java.lang.System ==> java.lang.System class class java.lang.Object ==> ClassNotFoundException is thrown