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.

"Consumers of this API must not implement this interface"
  • Field Summary

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

    Modifier and Type
    Method
    Description
    Returns the name of this role.
    Returns a Dictionary of the (public) properties of this Role object.
    int
    Returns the type of this role.
  • Field Details

    • USER_ANYONE

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

      static final int ROLE
      The type of a predefined role.

      The value of ROLE is 0.

      See Also:
    • USER

      static final int USER
      The type of a User role.

      The value of USER is 1.

      See Also:
    • GROUP

      static final int GROUP
      The type of a Group role.

      The value of GROUP is 2.

      See Also:
  • Method Details

    • getName

      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

      Dictionary<String,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.