Class GuardedObject

java.lang.Object
java.security.GuardedObject
All Implemented Interfaces:
Serializable
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.

Since:
1.2
See Also:

Constructor Summary

Constructor Description
GuardedObject(Object object, Guard guard)
Constructs a GuardedObject using the specified object and guard.

Method Summary

Modifier and Type Method Description
Object getObject()
Retrieves the guarded object, or throws an exception if access to the guarded object is denied by the guard.

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

GuardedObject

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.
Parameters:
object - the object to be guarded.
guard - the Guard object that guards access to the object.

Method Details

getObject

public Object getObject() throws SecurityException
Retrieves the guarded object, or throws an exception if access to the guarded object is denied by the guard.
Returns:
the guarded object.
Throws:
SecurityException - if access to the guarded object is denied.

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/security/GuardedObject.html