java.lang.reflect

## Class ReflectPermission

- java.lang.Object
- - java.security.Permission
  - - java.security.BasicPermission
    - - java.lang.reflect.ReflectPermission

- All Implemented Interfaces:
    Serializable, Guard

      public final class ReflectPermission
      extends BasicPermission

  The Permission class for reflective operations. A ReflectPermission is a named permission and has no actions. The only name currently defined is `suppressAccessChecks`, which allows suppressing the standard Java language access checks -- for public, default (package) access, protected, and private members -- performed by reflected objects at their point of use.

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

  Permission Target Name | What the Permission Allows | Risks of Allowing this Permission
  --- | --- | ---
  suppressAccessChecks | ability to access fields and invoke methods in a class. Note that this includes not only public, but protected and private fields and methods as well. | This is dangerous in that information (possibly confidential) and methods normally unavailable would be accessible to malicious code.

  Since:
    1.2
  See Also:
    `Permission`, `BasicPermission`, `AccessibleObject`, `Field.get(java.lang.Object)`, `Field.set(java.lang.Object, java.lang.Object)`, `Method.invoke(java.lang.Object, java.lang.Object...)`, `Constructor.newInstance(java.lang.Object...)`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReflectPermission(String name)` Constructs a ReflectPermission with the specified name.
    `ReflectPermission(String name, String actions)` Constructs a ReflectPermission 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`

- - ### Constructor Detail

    - #### ReflectPermission

          public ReflectPermission(String name)

      Constructs a ReflectPermission with the specified name.
      Parameters:
        `name` - the name of the ReflectPermission
      Throws:
        `NullPointerException` - if `name` is `null`.
        `IllegalArgumentException` - if `name` is empty.

    - #### ReflectPermission

          public ReflectPermission(String name,
                           String actions)

      Constructs a ReflectPermission with the specified name and actions. The actions should be null; they are ignored.
      Parameters:
        `name` - the name of the ReflectPermission
        `actions` - should be null
      Throws:
        `NullPointerException` - if `name` is `null`.
        `IllegalArgumentException` - if `name` is empty.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.