# Guard

public interface **Guard**

|---|---|---|
| Known Indirect Subclasses [AllPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/AllPermission.html), [BasicPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/BasicPermission.html), [FilePermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/FilePermission.html), [LinkPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/LinkPermission.html), [LoggingPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/LoggingPermission.html), [NetPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/net/NetPermission.html), [Permission](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/Permission.html), [PrivateCredentialPermission](https://developers.google.com/j2objc/javadoc/jre/reference/javax/security/auth/PrivateCredentialPermission.html), [PropertyPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PropertyPermission.html), [ReflectPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/reflect/ReflectPermission.html), [RuntimePermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/RuntimePermission.html), [SQLPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/sql/SQLPermission.html), [SecurityPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/SecurityPermission.html), [SerializablePermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/SerializablePermission.html), [SocketPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/net/SocketPermission.html) |---|---| | [AllPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/AllPermission.html) | Legacy security code; do not use. | | [BasicPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/BasicPermission.html) | Legacy security code; do not use. | | [FilePermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/FilePermission.html) | Legacy security code; do not use. | | [LinkPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/nio/file/LinkPermission.html) | The `Permission` class for link creation operations. | | [LoggingPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/LoggingPermission.html) | Legacy security code; do not use. | | [NetPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/net/NetPermission.html) | Legacy security code; do not use. | | [Permission](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/Permission.html) | Legacy security code; do not use. | | [PrivateCredentialPermission](https://developers.google.com/j2objc/javadoc/jre/reference/javax/security/auth/PrivateCredentialPermission.html) | Legacy security code; do not use. | | [PropertyPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/PropertyPermission.html) | Legacy security code; do not use. | | [ReflectPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/reflect/ReflectPermission.html) | Legacy security code; do not use. | | [RuntimePermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/RuntimePermission.html) | Legacy security code; do not use. | | [SQLPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/sql/SQLPermission.html) | Legacy security code; do not use. | | [SecurityPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/SecurityPermission.html) | Legacy security code; do not use. | | [SerializablePermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/io/SerializablePermission.html) | This legacy security is not supported on Android. | | [SocketPermission](https://developers.google.com/j2objc/javadoc/jre/reference/java/net/SocketPermission.html) | Legacy security code; do not use. | |||

<br />

This interface represents a guard, which is an object that is used
to protect access to another object.

This interface contains a single method, `checkGuard`,
with a single `object` argument. `checkGuard` is
invoked (by the GuardedObject `getObject` method)
to determine whether or not to allow access to the object.

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/security/GuardedObject.html`

### Public Method Summary

|---|---|
| abstract void | [checkGuard](https://developers.google.com/j2objc/javadoc/jre/reference/java/security/Guard.html#checkGuard(java.lang.Object))([Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) object) Determines whether or not to allow access to the guarded object `object`. |

## Public Methods

#### public abstract void
**checkGuard**
([Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) object)

Determines whether or not to allow access to the guarded object
`object`. Returns silently if access is allowed.
Otherwise, throws a SecurityException.

##### Parameters

| object | the object being protected by the guard. |
|---|---|

##### Throws

| [SecurityException](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/SecurityException.html) | if access is denied. |
|---|---|