Interface Role

  • All Known Subinterfaces:
    Group, User

    public interface Role
    The base interface for Role objects managed by the User Admin service.

    This interface exposes the characteristics shared by all Role classes: a name, a type, and a set of properties.

    Properties represent public information about the Role object that can be read by anyone. Specific UserAdminPermission objects are required to change a Role object's properties.

    Role object properties are Dictionary objects. Changes to these objects are propagated to the User Admin service and made persistent.

    Every User Admin service contains a set of predefined Role objects that are always present and cannot be removed. All predefined Role objects are of type ROLE. This version of the org.osgi.service.useradmin package defines a single predefined role named "user.anyone", which is inherited by any other role. Other predefined roles may be added in the future. Since "user.anyone" is a Role object that has properties associated with it that can be read and modified. Access to these properties and their use is application specific and is controlled using UserAdminPermission in the same way that properties for other Role objects are.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int GROUP
      The type of a Group role.
      static int ROLE
      The type of a predefined role.
      static int USER
      The type of a User role.
      static java.lang.String USER_ANYONE
      The name of the predefined role, user.anyone, that all users and groups belong to.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String getName()
      Returns the name of this role.
      java.util.Dictionary<java.lang.String,​java.lang.Object> getProperties()
      Returns a Dictionary of the (public) properties of this Role object.
      int getType()
      Returns the type of this role.
    • Field Detail

      • USER_ANYONE

        static final java.lang.String USER_ANYONE
        The name of the predefined role, user.anyone, that all users and groups belong to.
        Since:
        1.1
        See Also:
        Constant Field Values
      • ROLE

        static final int ROLE
        The type of a predefined role.

        The value of ROLE is 0.

        See Also:
        Constant Field Values
    • Method Detail

      • getName

        java.lang.String getName()
        Returns the name of this role.
        Returns:
        The role's name.
      • getType

        int getType()
        Returns the type of this role.
        Returns:
        The role's type.
      • getProperties

        java.util.Dictionary<java.lang.String,​java.lang.Object> getProperties()
        Returns a Dictionary of the (public) properties of this Role object. Any changes to the returned Dictionary will change the properties of this Role object. This will cause a UserAdminEvent object of type UserAdminEvent.ROLE_CHANGED to be broadcast to any UserAdminListener objects.

        Only objects of type String may be used as property keys, and only objects of type String or byte[] may be used as property values. Any other types will cause an exception of type IllegalArgumentException to be raised.

        In order to add, change, or remove a property in the returned Dictionary, a UserAdminPermission named after the property name (or a prefix of it) with action changeProperty is required.

        Returns:
        Dictionary containing the properties of this Role object.