Class ConfigurationPermission

java.lang.Object
java.security.Permission
java.security.BasicPermission
org.osgi.service.cm.ConfigurationPermission
All Implemented Interfaces:
Serializable, Guard

public final class ConfigurationPermission extends BasicPermission
Indicates a bundle's authority to configure bundles or be updated by Configuration Admin.
Since:
1.2
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • CONFIGURE

      public static final String CONFIGURE
      Provides permission to create new configurations for other bundles as well as manipulate them. The action string "configure".
      See Also:
    • TARGET

      public static final String TARGET
      The permission to be updated, that is, act as a Managed Service or Managed Service Factory. The action string "target".
      Since:
      1.4
      See Also:
    • ATTRIBUTE

      public static final String ATTRIBUTE
      Provides permission to set or remove an attribute on the configuration. The action string "attribute".
      Since:
      1.6
      See Also:
    • ACTION_CONFIGURE

      private static final int ACTION_CONFIGURE
      See Also:
    • ACTION_TARGET

      private static final int ACTION_TARGET
      See Also:
    • ACTION_ATTRIBUTE

      private static final int ACTION_ATTRIBUTE
      See Also:
    • ACTION_ALL

      private static final int ACTION_ALL
      See Also:
    • ACTION_NONE

      static final int ACTION_NONE
      See Also:
    • action_mask

      transient int action_mask
      The actions mask.
    • actions

      private volatile String actions
      The actions in canonical form.
    • substrings

      private transient List<String> substrings
      Parsed name if it includes wildcards: "*"
  • Constructor Details

    • ConfigurationPermission

      public ConfigurationPermission(String name, String actions)
      Create a new ConfigurationPermission.
      Parameters:
      name - Name of the permission. Wildcards ('*') are allowed in the name. During implies(Permission), the name is matched to the requested permission using the substring matching rules used by Filters.
      actions - Comma separated list of CONFIGURE, TARGET, ATTRIBUTE (case insensitive).
    • ConfigurationPermission

      ConfigurationPermission(String name, int mask)
      Package private constructor used by ConfigurationPermissionCollection.
      Parameters:
      name - location string
      mask - action mask
  • Method Details

    • setTransients

      private void setTransients(int mask)
      Called by constructors and when deserialized.
      Parameters:
      mask - action mask
    • parseActions

      private static int parseActions(String actions)
      Parse action string into action mask.
      Parameters:
      actions - Action string.
      Returns:
      action mask.
    • parseSubstring

      private static List<String> parseSubstring(String name)
      Parse the name for wildcard processing.
      Parameters:
      name - The name of the permission.
      Returns:
      null is the name has no wildcards or a List<String> where element is a substring to match or null for '*'.
    • implies

      public boolean implies(Permission p)
      Determines if a ConfigurationPermission object "implies" the specified permission.
      Overrides:
      implies in class BasicPermission
      Parameters:
      p - The target permission to check.
      Returns:
      true if the specified permission is implied by this object; false otherwise.
    • implies0

      boolean implies0(ConfigurationPermission requested, int effective)
      Internal implies method. Used by the implies and the permission collection implies methods.
      Parameters:
      requested - The requested ConfigurationPermission which has already be validated as a proper argument.
      effective - The effective actions with which to start.
      Returns:
      true if the specified permission is implied by this object; false otherwise.
    • equals

      public boolean equals(Object obj)
      Determines the equality of two ConfigurationPermission objects.

      Two ConfigurationPermission objects are equal.

      Overrides:
      equals in class BasicPermission
      Parameters:
      obj - The object being compared for equality with this object.
      Returns:
      true if obj is equivalent to this ConfigurationPermission; false otherwise.
    • hashCode

      public int hashCode()
      Returns the hash code value for this object.
      Overrides:
      hashCode in class BasicPermission
      Returns:
      Hash code value for this object.
    • getActions

      public String getActions()
      Returns the canonical string representation of the ConfigurationPermission actions.

      Always returns present ConfigurationPermission actions in the following order: "configure", "target", "attribute".

      Overrides:
      getActions in class BasicPermission
      Returns:
      Canonical string representation of the ConfigurationPermission actions.
    • newPermissionCollection

      public PermissionCollection newPermissionCollection()
      Returns a new PermissionCollection object suitable for storing ConfigurationPermissions.
      Overrides:
      newPermissionCollection in class BasicPermission
      Returns:
      A new PermissionCollection object.
    • writeObject

      private void writeObject(ObjectOutputStream s) throws IOException
      WriteObject is called to save the state of this permission object to a stream. The actions are serialized, and the superclass takes care of the name.
      Throws:
      IOException
    • readObject

      private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
      readObject is called to restore the state of this permission from a stream.
      Throws:
      IOException
      ClassNotFoundException