Module java.base
Package java.security

# 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:
  - `Guard`
  - `Permission`
  - Serialized Form

## Constructor Summary

Constructors
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.