Class ConfigurationPermission

  • All Implemented Interfaces:
    java.io.Serializable, java.security.Guard

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

      Fields 
      Modifier and Type Field Description
      private static int ACTION_ALL  
      private static int ACTION_ATTRIBUTE  
      private static int ACTION_CONFIGURE  
      (package private) int action_mask
      The actions mask.
      (package private) static int ACTION_NONE  
      private static int ACTION_TARGET  
      private java.lang.String actions
      The actions in canonical form.
      static java.lang.String ATTRIBUTE
      Provides permission to set or remove an attribute on the configuration.
      static java.lang.String CONFIGURE
      Provides permission to create new configurations for other bundles as well as manipulate them.
      private static long serialVersionUID  
      private java.util.List<java.lang.String> substrings
      Parsed name if it includes wildcards: "*"
      static java.lang.String TARGET
      The permission to be updated, that is, act as a Managed Service or Managed Service Factory.
    • Constructor Summary

      Constructors 
      Constructor Description
      ConfigurationPermission​(java.lang.String name, int mask)
      Package private constructor used by ConfigurationPermissionCollection.
      ConfigurationPermission​(java.lang.String name, java.lang.String actions)
      Create a new ConfigurationPermission.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)
      Determines the equality of two ConfigurationPermission objects.
      java.lang.String getActions()
      Returns the canonical string representation of the ConfigurationPermission actions.
      int hashCode()
      Returns the hash code value for this object.
      boolean implies​(java.security.Permission p)
      Determines if a ConfigurationPermission object "implies" the specified permission.
      (package private) boolean implies0​(ConfigurationPermission requested, int effective)
      Internal implies method.
      java.security.PermissionCollection newPermissionCollection()
      Returns a new PermissionCollection object suitable for storing ConfigurationPermissions.
      private static int parseActions​(java.lang.String actions)
      Parse action string into action mask.
      private static java.util.List<java.lang.String> parseSubstring​(java.lang.String name)
      Parse the name for wildcard processing.
      private void readObject​(java.io.ObjectInputStream s)
      readObject is called to restore the state of this permission from a stream.
      private void setTransients​(int mask)
      Called by constructors and when deserialized.
      private void writeObject​(java.io.ObjectOutputStream s)
      WriteObject is called to save the state of this permission object to a stream.
      • 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

      • CONFIGURE

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

        public static final java.lang.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:
        Constant Field Values
      • ATTRIBUTE

        public static final java.lang.String ATTRIBUTE
        Provides permission to set or remove an attribute on the configuration. The action string "attribute".
        Since:
        1.6
        See Also:
        Constant Field Values
      • action_mask

        transient int action_mask
        The actions mask.
      • actions

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

        private transient java.util.List<java.lang.String> substrings
        Parsed name if it includes wildcards: "*"
    • Constructor Detail

      • ConfigurationPermission

        public ConfigurationPermission​(java.lang.String name,
                                       java.lang.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​(java.lang.String name,
                                int mask)
        Package private constructor used by ConfigurationPermissionCollection.
        Parameters:
        name - location string
        mask - action mask
    • Method Detail

      • setTransients

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

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

        private static java.util.List<java.lang.String> parseSubstring​(java.lang.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​(java.security.Permission p)
        Determines if a ConfigurationPermission object "implies" the specified permission.
        Overrides:
        implies in class java.security.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​(java.lang.Object obj)
        Determines the equality of two ConfigurationPermission objects.

        Two ConfigurationPermission objects are equal.

        Overrides:
        equals in class java.security.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 java.security.BasicPermission
        Returns:
        Hash code value for this object.
      • getActions

        public java.lang.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 java.security.BasicPermission
        Returns:
        Canonical string representation of the ConfigurationPermission actions.
      • newPermissionCollection

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

        private void writeObject​(java.io.ObjectOutputStream s)
                          throws java.io.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:
        java.io.IOException
      • readObject

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