|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.security.Permission
stella.util.DataPermission
public final class DataPermission
This class manages the access to STELLA-data. All permissions are for reading only, but for different level of dataproducts, like raw, reduced, meta data or a somehow 'resolution reduced' data for quicklook.
A data permission has a form that consists of three parts, with possible
'*' as a wildcard. The first keyword is the Affiliation name, one of
#AFFIL, followed by the user name (separated by a colon), then
the proposal id. The normal wildcard rule apply. The action is one of
#ACCESS.
| Nested Class Summary | |
|---|---|
static class |
DataPermission.Access
The different access possibilities to the data. |
private static class |
DataPermission.DataPermissionCollection
We want to provide our own permission collection. |
static class |
DataPermission.Test
Test the class. |
| Field Summary | |
|---|---|
private EnumSet<DataPermission.Access> |
action
To speed-up operation, we parse the access into a bitmask. |
static String |
COLON
The separator string between Affiliation, user name and propid. |
private String |
propid
If a user name plus proposal was specified. |
private String |
user
If a user name plus proposal was specified. |
private EnumSet<UserProfile.Affil> |
whom
The affiliations accessible. |
static String |
WILDCARD
The wildcard string. |
| Constructor Summary | |
|---|---|
DataPermission(String name)
Constructs a new data permission object with no access rights. |
|
DataPermission(String name,
String acton)
Constructs a new data permission object. |
|
| Method Summary | |
|---|---|
static String |
accessString(EnumSet<DataPermission.Access> actions)
Parses an enumeration set of actions into an access string. |
static String |
actionsFromBitmask(short mask)
Returns the action string from an integer bit-mask. |
private EnumSet<DataPermission.Access> |
checkActionConsistancy(String act)
Checks the consitancy of the permission action. |
private EnumSet<UserProfile.Affil> |
checkNameConsistancy(String name)
Checks the consistancy of the permission name. |
boolean |
equals(Object that)
Additionally check the mask. |
static EnumSet<DataPermission.Access> |
fromBitmask(short mask)
Parses an integer bit mask into an EnumSet of actions. |
String |
getActions()
Returns the actions. |
int |
hashCode()
Returns the name has code. |
boolean |
implies(Permission to)
Additionally to normal name matching, also the action mask must apply. |
PermissionCollection |
newPermissionCollection()
Returns a new data permission collection. |
static short |
toBitmask(EnumSet<DataPermission.Access> perms)
Returns a bit-mask from a set of accesses. |
| Methods inherited from class java.security.Permission |
|---|
checkGuard, getName, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final String COLON
public static final String WILDCARD
private EnumSet<DataPermission.Access> action
private EnumSet<UserProfile.Affil> whom
private String user
private String propid
| Constructor Detail |
|---|
public DataPermission(String name)
public DataPermission(String name,
String acton)
#Affil. If an affil is given, a
colon has to appear next. After the colon, a wildcard or a
username follows, then a proposal id.#Access.
| Method Detail |
|---|
private EnumSet<DataPermission.Access> checkActionConsistancy(String act)
DataPermission.Accesses. If the Access.NONE
is present, it must be the only item. If the action consists of multiple
Accesses of the same type, an illegal argument is thrown.
private EnumSet<UserProfile.Affil> checkNameConsistancy(String name)
COLON. Each of these parts may be
wildcarded with WILDCARD.
public boolean implies(Permission to)
implies in class Permissionpublic boolean equals(Object that)
equals in class Permissionpublic int hashCode()
hashCode in class Permissionpublic String getActions()
getActions in class Permissionpublic static String actionsFromBitmask(short mask)
public static final EnumSet<DataPermission.Access> fromBitmask(short mask)
EnumSet of actions. If mask
is zero, an empty set is returned.
public static final short toBitmask(EnumSet<DataPermission.Access> perms)
public static final String accessString(EnumSet<DataPermission.Access> actions)
public PermissionCollection newPermissionCollection()
newPermissionCollection in class Permission
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||