|
Last update: 2011-06-23 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.proteios.core.BasicItem<D>
org.proteios.core.Key<RoleKeyData>
org.proteios.core.RoleKey
public class RoleKey
This class is used to represent a role key. A role key is, as the name suggests, a key that can be given to roles.
A Proteios installation comes with a default set of role
keys, one for every type of item. The keys cannot be deleted
and no new ones can be created. The id of a role key for
an item can be found by calling SystemItems.getRoleKeyId(Item).
The permission given to a role is applied to all items of the type that the role key is valid for. The following example code will give all users the permission to create samples.
Role r = Role.getById(dbControl, Role.USER); RoleKey rk = RoleKey.getById(dbControl, SystemItems.getRoleKeyId(Item.SAMPLE)); rk.setPermission(r, Permission.CREATE); dbControl.commit();
| Field Summary | |
|---|---|
static Item |
TYPE
The type of item represented by this class. |
| Fields inherited from interface org.proteios.core.Nameable |
|---|
MAX_DESCRIPTION_LENGTH, MAX_NAME_LENGTH |
| Method Summary | |
|---|---|
static RoleKey |
getById(DbControl dc,
int id)
Get a RoleKey item when you know the ID. |
static RoleKey |
getByItemType(DbControl dc,
Item itemType)
Get a RoleKey item when you know the Item type. |
String |
getDescription()
Get the description for the item. |
Item |
getItemType()
Get the Item type for the type of items this role key applies to. |
String |
getName()
Get the name of the item. |
Set<Permission> |
getPermissions(Role role)
Get the permissions for a role. |
static ItemQuery<RoleKey> |
getQuery()
Get a query object configured to retrieve role keys. |
Item |
getType()
Get the type of item represented by the object. |
boolean |
isUsed()
Always return TRUE. |
void |
setDescription(String description)
Set the description for the item. |
void |
setName(String name)
Set the name of the item. |
void |
setPermissions(Role role,
Set<Permission> permissions)
Grant permissions to a role. |
| Methods inherited from class org.proteios.core.BasicItem |
|---|
checkPermission, equals, getDbControl, getId, getPermissions, getSessionControl, getVersion, hashCode, hasPermission, isDetached, isInDatabase, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.proteios.core.Identifiable |
|---|
getId, getVersion |
| Methods inherited from interface org.proteios.core.AccessControlled |
|---|
checkPermission, hasPermission |
| Field Detail |
|---|
public static final Item TYPE
Item.ROLEKEY,
getType()| Method Detail |
|---|
public static RoleKey getById(DbControl dc,
int id)
throws ItemNotFoundException,
PermissionDeniedException,
BaseException
RoleKey item when you know the ID.
The ID of a role key can be found by calling
SystemItems.getRoleKeyId(Item).
dc - The DbControl which will be used for
permission checking and database access.id - The ID of the item to load
RoleKey item
ItemNotFoundException - If an item with the specified
ID is not found
PermissionDeniedException - If the logged in user doesn't
have Permission.READ permission to the item
BaseException - If there is another error
public static RoleKey getByItemType(DbControl dc,
Item itemType)
throws ItemNotFoundException,
PermissionDeniedException,
BaseException
RoleKey item when you know the Item type.
dc - The DbControl which will be used for
permission checking and database access.itemType - The item type of the role key to load
RoleKey item
ItemNotFoundException - If a role key for the specified
item type is not found
PermissionDeniedException - If the logged in user doesn't
have Permission.READ permission to the item
BaseException - If there is another errorpublic static ItemQuery<RoleKey> getQuery()
ItemQuery objectpublic Item getType()
IdentifiableItem enumeration.
getType in interface Identifiablepublic String getName()
Nameable
getName in interface NameableString with the name of the item
public void setName(String name)
throws PermissionDeniedException,
InvalidDataException
NameableNameable.MAX_NAME_LENGTH constant.
setName in interface Nameablename - The new name for the item
PermissionDeniedException - If the logged in user doesn't
have write permission
InvalidDataException - If the name is null or longer
than specified by the Nameable.MAX_NAME_LENGTH constantpublic String getDescription()
Nameable
getDescription in interface NameableString with a description of the item
public void setDescription(String description)
throws PermissionDeniedException,
InvalidDataException
NameableNameable.MAX_DESCRIPTION_LENGTH constant.
setDescription in interface Nameabledescription - The new description for the item
PermissionDeniedException - If the logged in user doesn't
have write permission
InvalidDataException - If the description longer
than specified by the Nameable.MAX_DESCRIPTION_LENGTH constant
public boolean isUsed()
throws BaseException
isUsed in class BasicItem<RoleKeyData>BaseExceptionpublic Item getItemType()
Item type for the type of items this role key applies to.
Item object
public void setPermissions(Role role,
Set<Permission> permissions)
throws PermissionDeniedException,
InvalidDataException
Permission.DENIED is
set it will override permissions gained from other keys. Ie.
if a user has a role key with Permission.DENIED it takes precedence
over all other permissions. Use an empty Set or null
to remove all permissions for the role.
role - The Rolepermissions - The permissions to grant
PermissionDeniedException - If the logged in user doesn't have
Permission.WRITE permission for the role key
InvalidDataException - If the role is nullPermission
public Set<Permission> getPermissions(Role role)
throws InvalidDataException
role - The Role for which we want to get the permission
EnumSet containing the granted permissions, or an
empty set if no permissions have been granted
InvalidDataException - If the role is nullPermission
|
Last update: 2011-06-23 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||