The base interface for {@code Role} objects managed by the User Adminservice.
This interface exposes the characteristics shared by all {@code Role}classes: a name, a type, and a set of properties.
Properties represent public information about the {@code Role} object thatcan be read by anyone. Specific {@link UserAdminPermission} objects arerequired to change a {@code Role} object's properties.
{@code Role} object properties are {@code Dictionary} objects. Changes tothese objects are propagated to the User Admin service and made persistent.
Every User Admin service contains a set of predefined {@code Role} objectsthat are always present and cannot be removed. All predefined {@code Role}objects are of type {@code ROLE}. This version of the {@code org.osgi.service.useradmin} package defines a single predefined rolenamed "user.anyone", which is inherited by any other role. Other predefined roles may be added in the future. Since "user.anyone" is a {@code Role} object that has properties associated with it that can be readand modified. Access to these properties and their use is application specific and is controlled using {@code UserAdminPermission} in the same waythat properties for other {@code Role} objects are.
@noimplement
@author $Id: c366d5a634158a41a940edb0229ee95d4148ddac $