Package alluxio.security.authorization
Class DefaultAccessControlList
- java.lang.Object
-
- alluxio.security.authorization.AccessControlList
-
- alluxio.security.authorization.DefaultAccessControlList
-
- All Implemented Interfaces:
java.io.Serializable
public class DefaultAccessControlList extends AccessControlList
Default Access control list for a directory.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class alluxio.security.authorization.AccessControlList
AccessControlList.AccessControlListDeserializer, AccessControlList.AccessControlListSerializer
-
-
Field Summary
Fields Modifier and Type Field Description static DefaultAccessControlList
EMPTY_DEFAULT_ACL
-
Fields inherited from class alluxio.security.authorization.AccessControlList
EMPTY_ACL, mExtendedEntries, mMode, mOwningGroup, mOwningUser, OWNER_FIELD, OWNING_GROUP_FIELD, OWNING_GROUP_KEY, OWNING_USER_KEY, STRING_ENTRY_FIELD
-
-
Constructor Summary
Constructors Constructor Description DefaultAccessControlList()
Constructor to build a default ACL that is empty.DefaultAccessControlList(AccessControlList acl)
Constructor to build a default ACL based on an access ACL.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
Pair<AccessControlList,DefaultAccessControlList>
generateChildDirACL(java.lang.Short umask)
Creates a child directory's access ACL and default ACL based on the default ACL.AccessControlList
generateChildFileACL(java.lang.Short umask)
create a child file 's accessACL based on the default ACL.java.util.List<AclEntry>
getEntries()
Returns a list ofAclEntry
which represent this ACL instance.int
hashCode()
boolean
isEmpty()
Returns true if the default ACL is empty.void
removeEntry(AclEntry entry)
Removes the specified entry.void
setEmpty(boolean empty)
void
setEntry(AclEntry entry)
Sets an entry into the access control list.-
Methods inherited from class alluxio.security.authorization.AccessControlList
checkPermission, clearEntries, fromStringEntries, getExtendedEntries, getMode, getOtherActions, getOwningGroup, getOwningGroupActions, getOwningUser, getOwningUserActions, getPermission, hasExtended, removeExtendedEntries, setMode, setOwningGroup, setOwningUser, toString, toStringEntries, updateMask
-
-
-
-
Field Detail
-
EMPTY_DEFAULT_ACL
public static final DefaultAccessControlList EMPTY_DEFAULT_ACL
-
-
Constructor Detail
-
DefaultAccessControlList
public DefaultAccessControlList()
Constructor to build a default ACL that is empty.
-
DefaultAccessControlList
public DefaultAccessControlList(AccessControlList acl)
Constructor to build a default ACL based on an access ACL.- Parameters:
acl
- the access acl
-
-
Method Detail
-
generateChildFileACL
public AccessControlList generateChildFileACL(java.lang.Short umask)
create a child file 's accessACL based on the default ACL.- Parameters:
umask
- file's umask- Returns:
- child file's access ACL
-
generateChildDirACL
public Pair<AccessControlList,DefaultAccessControlList> generateChildDirACL(java.lang.Short umask)
Creates a child directory's access ACL and default ACL based on the default ACL.- Parameters:
umask
- child's umask- Returns:
- child directory's access ACL and default ACL
-
removeEntry
public void removeEntry(AclEntry entry)
Removes the specified entry. A base entry is not allowed to be removed.- Overrides:
removeEntry
in classAccessControlList
- Parameters:
entry
- the entry to be removed
-
setEntry
public void setEntry(AclEntry entry)
Description copied from class:AccessControlList
Sets an entry into the access control list. If an entry with the same type and subject already exists, overwrites the existing entry; Otherwise, adds this new entry. After we modify entries for NAMED_GROUP, OWNING_GROUP, NAMED_USER, we need to update the mask.- Overrides:
setEntry
in classAccessControlList
- Parameters:
entry
- the entry to be added or updated
-
isEmpty
public boolean isEmpty()
Returns true if the default ACL is empty.- Returns:
- true if empty
-
setEmpty
public void setEmpty(boolean empty)
- Parameters:
empty
- set the DefaultAccessControlList to empty or not
-
getEntries
public java.util.List<AclEntry> getEntries()
Returns a list ofAclEntry
which represent this ACL instance. The mask will only be included if extended ACL entries exist.- Overrides:
getEntries
in classAccessControlList
- Returns:
- an immutable list of ACL entries
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classAccessControlList
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classAccessControlList
-
-