FileDocCategorySizeDatePackage
GuardedObject.javaAPI DocJava SE 5 API2328Fri Aug 26 14:57:14 BST 2005java.security

GuardedObject

public class GuardedObject extends Object implements Serializable
A GuardedObject is an object that is used to protect access to another object.

A GuardedObject encapsulates a target object and a Guard object, such that access to the target object is possible only if the Guard object allows it. Once an object is encapsulated by a GuardedObject, access to that object is controlled by the getObject method, which invokes the checkGuard method on the Guard object that is guarding access. If access is not allowed, an exception is thrown.

see
Guard
see
Permission
version
1.15 03/12/19
author
Roland Schemers
author
Li Gong

Fields Summary
private static final long
serialVersionUID
private Object
object
private Guard
guard
Constructors Summary
public GuardedObject(Object object, Guard guard)
Constructs a GuardedObject using the specified object and guard. If the Guard object is null, then no restrictions will be placed on who can access the object.

param
object the object to be guarded.
param
guard the Guard object that guards access to the object.

   // the guard

                                                      

        
    
        this.guard = guard;
        this.object = object;
    
Methods Summary
public java.lang.ObjectgetObject()
Retrieves the guarded object, or throws an exception if access to the guarded object is denied by the guard.

return
the guarded object.
exception
SecurityException if access to the guarded object is denied.

        if (guard != null)
            guard.checkGuard(object);

        return object;
    
private synchronized voidwriteObject(java.io.ObjectOutputStream oos)
Writes this object out to a stream (i.e., serializes it). We check the guard if there is one.

        if (guard != null)
            guard.checkGuard(object);
	
	oos.defaultWriteObject();