OSGi™ Service Platform
Release 4 Version 4.1

org.osgi.service.useradmin
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
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
 java.lang.String getName()
          Returns the name of this role.
 java.util.Dictionary getProperties()
          Returns a Dictionary of the (public) properties of this Role object.
 int getType()
          Returns the type of this role.
 

Field Detail

USER_ANYONE

public 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

public static final int ROLE
The type of a predefined role.

The value of ROLE is 0.

See Also:
Constant Field Values

USER

public static final int USER
The type of a User role.

The value of USER is 1.

See Also:
Constant Field Values

GROUP

public static final int GROUP
The type of a Group role.

The value of GROUP is 2.

See Also:
Constant Field Values
Method Detail

getName

public java.lang.String getName()
Returns the name of this role.

Returns:
The role's name.

getType

public int getType()
Returns the type of this role.

Returns:
The role's type.

getProperties

public java.util.Dictionary 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.

OSGi™ Service Platform
Release 4 Version 4.1

Copyright © OSGi Alliance (2000, 2007). All Rights Reserved. Licensed under the OSGi Specification License, Version 1.0