com.openexchange.mail.permission
Class MailPermission

java.lang.Object
  extended by com.openexchange.server.impl.OCLPermission
      extended by com.openexchange.mail.permission.MailPermission
All Implemented Interfaces:
com.openexchange.tools.OXCloneable<com.openexchange.server.impl.OCLPermission>, java.io.Serializable, java.lang.Cloneable, java.security.acl.Permission
Direct Known Subclasses:
DefaultMailPermission

public abstract class MailPermission
extends com.openexchange.server.impl.OCLPermission

MailPermission - The mail permission defining a set of access rights on a mail folder for a certain entity.

This depends on if mailing system supports any kind of access control for entities; e.g. for IMAP it is the ACL capability. If no access control is defined by mailing system, DefaultMailPermission is used which grants full access and therefore bypasses access control.

Author:
Thorben Betten
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.openexchange.server.impl.OCLPermission
ADMIN_PERMISSION, ALL_GROUPS_AND_USERS, CREATE_OBJECTS_IN_FOLDER, CREATE_SUB_FOLDERS, DELETE_ALL_OBJECTS, DELETE_OWN_OBJECTS, NO_PERMISSIONS, READ_ALL_OBJECTS, READ_FOLDER, READ_OWN_OBJECTS, SYSTEM_SYSTEM, WRITE_ALL_OBJECTS, WRITE_OWN_OBJECTS
 
Method Summary
 int canRename()
          Checks if permission allows to rename the folder.
static
<P extends MailPermission>
P
newInstance(java.lang.Class<? extends P> clazz)
          Gets a new mail permission instance
 
Methods inherited from class com.openexchange.server.impl.OCLPermission
canCreateObjects, canCreateSubfolders, canDeleteAllObjects, canDeleteOwnObjects, canReadAllObjects, canReadOwnObjects, canWriteAllObjects, canWriteOwnObjects, clone, deepClone, equals, equalsPermission, getDeletePermission, getEntity, getFolderPermission, getFuid, getName, getReadPermission, getSystem, getWritePermission, hashCode, isFolderAdmin, isFolderVisible, isGroupPermission, isSystem, reset, setAllObjectPermission, setAllPermission, setDeleteObjectPermission, setEntity, setFolderAdmin, setFolderPermission, setFuid, setGroupPermission, setName, setReadObjectPermission, setSystem, setWriteObjectPermission, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

canRename

public int canRename()
Checks if permission allows to rename the folder.

Returns -1 if there's no special rename permission. Then rename is granted if OCLPermission.isFolderAdmin() returns true. Otherwise 1 is returned if rename is granted; 0 means no rename permission.

Returns:

newInstance

public static <P extends MailPermission> P newInstance(java.lang.Class<? extends P> clazz)
                                            throws MailException
Gets a new mail permission instance

Type Parameters:
P - The permission sub-type
Parameters:
clazz - The permission class
Returns:
A new mail permission instance
Throws:
MailException - If instantiation fails