Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/java/security/Guard#pubmethods)

# Guard

` public interface Guard `   
` `

|---|
| java.security.Guard |

Known indirect subclasses [AllPermission](https://developer.android.com/reference/java/security/AllPermission), [AuthPermission](https://developer.android.com/reference/javax/security/auth/AuthPermission), [BasicPermission](https://developer.android.com/reference/java/security/BasicPermission), [FilePermission](https://developer.android.com/reference/java/io/FilePermission), [LinkPermission](https://developer.android.com/reference/java/nio/file/LinkPermission), [LoggingPermission](https://developer.android.com/reference/java/util/logging/LoggingPermission), [NetPermission](https://developer.android.com/reference/java/net/NetPermission), [Permission](https://developer.android.com/reference/java/security/Permission), [PrivateCredentialPermission](https://developer.android.com/reference/javax/security/auth/PrivateCredentialPermission), [PropertyPermission](https://developer.android.com/reference/java/util/PropertyPermission), [ReflectPermission](https://developer.android.com/reference/java/lang/reflect/ReflectPermission), [RuntimePermission](https://developer.android.com/reference/java/lang/RuntimePermission), [SQLPermission](https://developer.android.com/reference/java/sql/SQLPermission), [SSLPermission](https://developer.android.com/reference/javax/net/ssl/SSLPermission), [SecurityPermission](https://developer.android.com/reference/java/security/SecurityPermission), [SerializablePermission](https://developer.android.com/reference/java/io/SerializablePermission), [SocketPermission](https://developer.android.com/reference/java/net/SocketPermission), [UnresolvedPermission](https://developer.android.com/reference/java/security/UnresolvedPermission) [AllPermission](https://developer.android.com/reference/java/security/AllPermission) Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. [AuthPermission](https://developer.android.com/reference/javax/security/auth/AuthPermission) Legacy security code; do not use. [BasicPermission](https://developer.android.com/reference/java/security/BasicPermission) Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. [FilePermission](https://developer.android.com/reference/java/io/FilePermission) Legacy security code; do not use. [LinkPermission](https://developer.android.com/reference/java/nio/file/LinkPermission) The `Permission` class for link creation operations. [LoggingPermission](https://developer.android.com/reference/java/util/logging/LoggingPermission) Legacy security code; do not use. [NetPermission](https://developer.android.com/reference/java/net/NetPermission) Legacy security code; do not use. [Permission](https://developer.android.com/reference/java/security/Permission) Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. [PrivateCredentialPermission](https://developer.android.com/reference/javax/security/auth/PrivateCredentialPermission) Legacy security code; do not use. [PropertyPermission](https://developer.android.com/reference/java/util/PropertyPermission) Legacy security code; do not use. [ReflectPermission](https://developer.android.com/reference/java/lang/reflect/ReflectPermission) Legacy security code; do not use. [RuntimePermission](https://developer.android.com/reference/java/lang/RuntimePermission) Legacy security code; do not use. [SQLPermission](https://developer.android.com/reference/java/sql/SQLPermission) Legacy security code; do not use. [SSLPermission](https://developer.android.com/reference/javax/net/ssl/SSLPermission) Legacy security code; do not use. [SecurityPermission](https://developer.android.com/reference/java/security/SecurityPermission) Legacy security code; do not use. [SerializablePermission](https://developer.android.com/reference/java/io/SerializablePermission) This legacy security is not supported on Android. [SocketPermission](https://developer.android.com/reference/java/net/SocketPermission) Legacy security code; do not use. [UnresolvedPermission](https://developer.android.com/reference/java/security/UnresolvedPermission) 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://developer.android.com/reference/java/security/GuardedObject`

## Summary

| ### Public methods ||
|---|---|
| ` abstract void` | ` https://developer.android.com/reference/java/security/Guard#checkGuard(java.lang.Object)(https://developer.android.com/reference/java/lang/Object object) ` Determines whether or not to allow access to the guarded object `object`. |

## Public methods

### checkGuard

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract void checkGuard (Object object)
```

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

<br />

| Parameters ||
|---|---|
| `object` | `Object`: the object being protected by the guard. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/SecurityException` | if access is denied. |