The notion of permissions and the
access controller can be encapsulated into a single object: a guarded
object, which is implemented by the
class allows you to embed another object within it in such a way that
all access to the object will first have to go through a guard
(which, typically, is the access controller).
There are two methods in the GuardedObject class:
Create a guarded object. The given object is embedded within the guarded object; access to the embedded object will not be granted unless the guard allows it.
Return the embedded object. The
method of the guard is first called; if the guard prohibits access to
the embedded object, an
will be thrown. Otherwise, the embedded object is returned.
The guard can be any class that implements the
java.security.Guard). This interface has a
See if access to the given object should be granted. If access is not
granted, this method should throw an
AccessControlException; otherwise it should
Although you can write your own guards, the
class already implements the guard interface. Hence, any permission
can be used to guard an object as follows:
public class GuardTest ...