A toy to run method calls as privileged actions.

The package provides a proxy factory creating proxies, that wrap each method call into a {@link java.lang.security.PrivilegedExceptionAction} and pass this action to a user provided {@link com.thoughtworks.proxy.toys.privilege.ActionExecutor}. The toy is delivered with three predefined action executors:

The following using the AccessController to perform privileged read actions on the file:

File file = Privileging.proxy(new File("src/main/java/" + PoolToyExample.class.getName().replace('.', '/') + ".java"))
	.executedBy(new AccessControllerExecutor())
	.build(new CglibProxyFactory());
LineNumberReader reader = new LineNumberReader(new FileReader(file), 16 * 1024);
while (reader.readLine() != null);
System.out.println("Lines of code: " + reader.getLineNumber());
reader.close();