org.sakaiproject.api.common.authorization
Interface DefaultPermissions

All Superinterfaces:
Permissions, Persistable
All Known Implementing Classes:
DefaultPermissionsImpl

public interface DefaultPermissions
extends Permissions

This class represents zero or more fine grained permissions. This class also represents all of the "base" permissions that Sakai's Common will support. This class really represents two logical entities: Permissions and Roles as combinations of Permissions (i.e. permissions matrix).

The fine grained permissions are defined as:

  Permission______________|_Allow_|_Deny_|
  ________________________|_______|______|
  Execute_________________|_______|______| Traverse collection / Execute entity 
  Read____________________|_______|______| List collection / Read entity
  Read Metadata___________|_______|______| Basic metadata (e.g. last modified, etc)
  Read Extended Metadata__|_______|______| (e.g. Dublin Core, IMS, etc)
  Create__________________|_______|______| Create an entity in a given context
  Create Collection_______|_______|______| Create a collection (e.g. folder) in a given context
  Write___________________|_______|______| Modify an existing entity
  Write Metadata__________|_______|______| Basic metadata (e.g. last modified, etc)
  Write Extended Metadata_|_______|______| (e.g. Dublin Core, IMS, etc)
  Delete__________________|_______|______| Delete an existing entity
  Delete Collection_______|_______|______| Delete an existing collection and all children
  Read Permissions________|_______|______| Display permissions for a given entity
  Manage Permissions______|_______|______| Modify permissions for a given entity
  Take Ownership__________|_______|______| Take ownership of a given entity
  Audit___________________|_______|______| Create/modify audits for a given entity
 

Notes:

  1. Permissions can have three states: Null, True, False. Null indicates that the caller does not care about the state, i.e. it behaves like a wildcard. True or False indicates that the callerdoes care about matching the state.
  2. Denies always take precedence over allows.
  3. If tools dictate that this set of permissions is not sufficient, alternate FunctionRole classes can be created.

Since:
Sakai 2.0
Version:
$Id: DefaultPermissions.java 632 2005-07-14 21:22:50Z janderse@umich.edu $
Author:
Lance Speelmon

Field Summary
static String AUDIT
           
static String CREATE
           
static String CREATE_COLLECTION
           
static String DELETE
           
static String DELETE_COLLECTION
           
static String EXECUTE
           
static String MANAGE_PERMISSIONS
           
static String READ
           
static String READ_EXTENDED_METADATA
           
static String READ_METADATA
           
static String READ_PERMISSIONS
           
static String TAKE_OWNERSHIP
           
static String WRITE
           
static String WRITE_EXTENDED_METADATA
           
static String WRITE_METADATA
           
 
Method Summary
 Boolean getAudit()
           
 Boolean getCreate()
           
 Boolean getCreateCollection()
           
 Boolean getDelete()
           
 Boolean getDeleteCollection()
           
 Boolean getExecute()
           
 Boolean getManagePermissions()
           
 Boolean getRead()
           
 Boolean getReadExtendedMetadata()
           
 Boolean getReadMetadata()
           
 Boolean getReadPermissions()
           
 Boolean getTakeOwnership()
           
 Boolean getWrite()
           
 Boolean getWriteExtendedMetadata()
           
 Boolean getWriteMetadata()
           
 void setAudit(Boolean b)
           
 void setCreate(Boolean b)
           
 void setCreateCollection(Boolean b)
           
 void setDelete(Boolean b)
           
 void setDeleteCollection(Boolean b)
           
 void setExecute(Boolean b)
           
 void setManagePermissions(Boolean b)
           
 void setRead(Boolean b)
           
 void setReadExtendedMetadata(Boolean b)
           
 void setReadMetadata(Boolean b)
           
 void setReadPermissions(Boolean b)
           
 void setTakeOwnership(Boolean b)
           
 void setWrite(Boolean b)
           
 void setWriteExtendedMetadata(Boolean b)
           
 void setWriteMetadata(Boolean b)
           
 
Methods inherited from interface org.sakaiproject.api.common.authorization.Permissions
getDescription, getName, setDescription, setName
 
Methods inherited from interface org.sakaiproject.api.common.manager.Persistable
getCreatedBy, getCreatedDate, getLastModifiedBy, getLastModifiedDate, getUuid
 

Field Detail

EXECUTE

public static final String EXECUTE
See Also:
Constant Field Values

READ

public static final String READ
See Also:
Constant Field Values

READ_METADATA

public static final String READ_METADATA
See Also:
Constant Field Values

READ_EXTENDED_METADATA

public static final String READ_EXTENDED_METADATA
See Also:
Constant Field Values

CREATE

public static final String CREATE
See Also:
Constant Field Values

CREATE_COLLECTION

public static final String CREATE_COLLECTION
See Also:
Constant Field Values

WRITE

public static final String WRITE
See Also:
Constant Field Values

WRITE_METADATA

public static final String WRITE_METADATA
See Also:
Constant Field Values

WRITE_EXTENDED_METADATA

public static final String WRITE_EXTENDED_METADATA
See Also:
Constant Field Values

DELETE

public static final String DELETE
See Also:
Constant Field Values

DELETE_COLLECTION

public static final String DELETE_COLLECTION
See Also:
Constant Field Values

READ_PERMISSIONS

public static final String READ_PERMISSIONS
See Also:
Constant Field Values

MANAGE_PERMISSIONS

public static final String MANAGE_PERMISSIONS
See Also:
Constant Field Values

TAKE_OWNERSHIP

public static final String TAKE_OWNERSHIP
See Also:
Constant Field Values

AUDIT

public static final String AUDIT
See Also:
Constant Field Values
Method Detail

getExecute

public Boolean getExecute()

setExecute

public void setExecute(Boolean b)

getRead

public Boolean getRead()

setRead

public void setRead(Boolean b)

getReadMetadata

public Boolean getReadMetadata()

setReadMetadata

public void setReadMetadata(Boolean b)

getReadExtendedMetadata

public Boolean getReadExtendedMetadata()

setReadExtendedMetadata

public void setReadExtendedMetadata(Boolean b)

getCreate

public Boolean getCreate()

setCreate

public void setCreate(Boolean b)

getCreateCollection

public Boolean getCreateCollection()

setCreateCollection

public void setCreateCollection(Boolean b)

getWrite

public Boolean getWrite()

setWrite

public void setWrite(Boolean b)

getWriteMetadata

public Boolean getWriteMetadata()

setWriteMetadata

public void setWriteMetadata(Boolean b)

getWriteExtendedMetadata

public Boolean getWriteExtendedMetadata()

setWriteExtendedMetadata

public void setWriteExtendedMetadata(Boolean b)

getDelete

public Boolean getDelete()

setDelete

public void setDelete(Boolean b)

getDeleteCollection

public Boolean getDeleteCollection()

setDeleteCollection

public void setDeleteCollection(Boolean b)

getReadPermissions

public Boolean getReadPermissions()

setReadPermissions

public void setReadPermissions(Boolean b)

getManagePermissions

public Boolean getManagePermissions()

setManagePermissions

public void setManagePermissions(Boolean b)

getTakeOwnership

public Boolean getTakeOwnership()

setTakeOwnership

public void setTakeOwnership(Boolean b)

getAudit

public Boolean getAudit()

setAudit

public void setAudit(Boolean b)