org.pentaho.platform.api.engine
Interface IAclHolder

All Known Subinterfaces:
IAclSolutionFile, IRepositoryFile
All Known Implementing Classes:
CWMAclHolder, MetadataAclHolder, RepositoryFile

public interface IAclHolder

TODO mlowery List type should probably not be a concrete class (PentahoAclEntry).


Field Summary
static int ACCESS_TYPE_ADMIN
           
static int ACCESS_TYPE_DELETE
           
static int ACCESS_TYPE_READ
           
static int ACCESS_TYPE_UPDATE
           
static int ACCESS_TYPE_WRITE
           
 
Method Summary
 List<IPentahoAclEntry> getAccessControls()
          Returns the ACLs on the existing object.
 List<IPentahoAclEntry> getEffectiveAccessControls()
          Examines whether the existing object has ACLs.
 void resetAccessControls(List<IPentahoAclEntry> acls)
          Replaces existing access controls with a new list of access controls.
 void setAccessControls(List<IPentahoAclEntry> acls)
          Sets the access controls on this specific object.
 

Field Detail

ACCESS_TYPE_READ

static final int ACCESS_TYPE_READ
See Also:
Constant Field Values

ACCESS_TYPE_WRITE

static final int ACCESS_TYPE_WRITE
See Also:
Constant Field Values

ACCESS_TYPE_UPDATE

static final int ACCESS_TYPE_UPDATE
See Also:
Constant Field Values

ACCESS_TYPE_DELETE

static final int ACCESS_TYPE_DELETE
See Also:
Constant Field Values

ACCESS_TYPE_ADMIN

static final int ACCESS_TYPE_ADMIN
See Also:
Constant Field Values
Method Detail

getAccessControls

List<IPentahoAclEntry> getAccessControls()
Returns the ACLs on the existing object. Never returns null. If you need to get the effective access controls, you may need to call getEffectiveAccessControls() which will chain up from this object if necessary to find the ACLs that control this object.

Returns:
List of ACLs for this object only.

setAccessControls

void setAccessControls(List<IPentahoAclEntry> acls)
Sets the access controls on this specific object. Currently doesn't check whether the acls are the same as those assigned to the parent.

Parameters:
acls -

resetAccessControls

void resetAccessControls(List<IPentahoAclEntry> acls)
Replaces existing access controls with a new list of access controls. This method should be used in favor of setting the access controls with setAccessControls when the object is being persisted.

Parameters:
acls -

getEffectiveAccessControls

List<IPentahoAclEntry> getEffectiveAccessControls()
Examines whether the existing object has ACLs. If not, it will return the parent's ACLs. All the way up to the top if necessary. This method should never return null.

Returns:
List containing all the AclEntry objects