javax.jdo.spi

## Class JDOPermission

- java.lang.Object
- - java.security.Permission
  - - java.security.BasicPermission
    - - javax.jdo.spi.JDOPermission

- All Implemented Interfaces:
    Serializable, Guard

      public final class JDOPermission
      extends BasicPermission

  The `JDOPermission` class is for operations that are reserved for JDO implementations and should not be called by other code. A `JDOPermission` is a named permission and has no actions. There are two names currently defined. Each named permission has a corresponding public static final field which contains an instance of the named permission.

  The following table provides a summary description of what each named permission allows, and discusses the risks of granting code the permission.

  Permission Target Name | What the Permission Allows | Risks of Allowing this Permission
  --- | --- | ---
  `setStateManager` | This allows setting the `StateManager` for an instance of `PersistenceCapable`. The `StateManager` has unlimited access to get and set persistent and transactional fields of the `PersistenceCapable` instance. | This is dangerous in that information (possibly confidential) normally unavailable would be accessible to malicious code.
  `getMetadata` | This allows getting metadata for any `PersistenceCapable` class that has registered with `JDOImplHelper`. | This is dangerous in that metadata information (possibly confidential) normally unavailable would be accessible to malicious code.
  `manageMetadata` | This allows managing metadata for any `PersistenceCapable` class that has registered with `JDOImplHelper`. | This is dangerous in that metadata information (possibly confidential) normally unavailable would be manageable (modifiable) by malicious code.
  `closePersistenceManagerFactory` | This allows closing a `PersistenceManagerFactory`, thereby releasing resources. | This is dangerous in that resources bound to the `PersistenceManagerFactory` would be releaseable by malicious code.

  Version:
    1.0.2
  See Also:
    `Permission`, `BasicPermission`, `JDOImplHelper`, `PersistenceCapable`, Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static JDOPermission` | `CLOSE_PERSISTENCE_MANAGER_FACTORY` An instance of `JDOPermission` to be used for `closePersistenceManagerFactory` permission checking.
    `static JDOPermission` | `GET_METADATA` An instance of `JDOPermission` to be used for `getMetadata` permission checking.
    `static JDOPermission` | `MANAGE_METADATA` An instance of `JDOPermission` to be used for `manageMetadata` permission checking.
    `static JDOPermission` | `SET_STATE_MANAGER` An instance of `JDOPermission` to be used for `setStateManager` permission checking.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JDOPermission(String name)` Constructs a `JDOPermission` with the specified name.
    `JDOPermission(String name, String actions)` Constructs a `JDOPermission` with the specified name and actions.

  - ### Method Summary

    - ### Methods inherited from class java.security.BasicPermission

      `equals, getActions, hashCode, implies, newPermissionCollection`

    - ### Methods inherited from class java.security.Permission

      `checkGuard, getName, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### GET_METADATA

          public static final JDOPermission GET_METADATA

      An instance of `JDOPermission` to be used for `getMetadata` permission checking.

    - #### MANAGE_METADATA

          public static final JDOPermission MANAGE_METADATA

      An instance of `JDOPermission` to be used for `manageMetadata` permission checking.
      Since:
        1.0.2

    - #### SET_STATE_MANAGER

          public static final JDOPermission SET_STATE_MANAGER

      An instance of `JDOPermission` to be used for `setStateManager` permission checking.

    - #### CLOSE_PERSISTENCE_MANAGER_FACTORY

          public static final JDOPermission CLOSE_PERSISTENCE_MANAGER_FACTORY

      An instance of `JDOPermission` to be used for `closePersistenceManagerFactory` permission checking.
      Since:
        1.0.1

  - ### Constructor Detail

    - #### JDOPermission

          public JDOPermission(String name)

      Constructs a `JDOPermission` with the specified name.
      Parameters:
        `name` - the name of the `JDOPermission`

    - #### JDOPermission

          public JDOPermission(String name,
                               String actions)

      Constructs a `JDOPermission` with the specified name and actions. The actions should be `null`; they are ignored. This constructor exists for use by the `Policy` object to instantiate new `Permission` objects.
      Parameters:
        `name` - the name of the `JDOPermission`
        `actions` - should be `null`.

Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.