org.jets3t.service.acl
Class AccessControlList

java.lang.Object
  extended by org.jets3t.service.acl.AccessControlList
All Implemented Interfaces:
java.io.Serializable

public class AccessControlList
extends java.lang.Object
implements java.io.Serializable

Represents an Amazon S3 Access Control List (ACL), including the ACL's set of grantees and the permissions assigned to each grantee.

Author:
James Murty
See Also:
Serialized Form

Field Summary
static AccessControlList REST_CANNED_AUTHENTICATED_READ
          A pre-canned REST ACL to set an object's permissions to Authenticated Read (authenticated Amazon users can read, only owner can write)
static AccessControlList REST_CANNED_PRIVATE
          A pre-canned REST ACL to set an object's permissions to Private (only owner can read/write)
static AccessControlList REST_CANNED_PUBLIC_READ
          A pre-canned REST ACL to set an object's permissions to Public Read (anyone can read, only owner can write)
static AccessControlList REST_CANNED_PUBLIC_READ_WRITE
          A pre-canned REST ACL to set an object's permissions to Public Read and Write (anyone can read/write)
 
Constructor Summary
AccessControlList()
           
 
Method Summary
 java.util.Set getGrants()
           
 S3Owner getOwner()
           
 void grantAllPermissions(java.util.Set grants)
          Adds a set of grantee/permission pairs to the ACL, where each item in the set is a GrantAndPermission object.
 void grantPermission(GranteeInterface grantee, Permission permission)
          Adds a grantee to the ACL with the given permission.
 boolean isCannedRestACL()
           
 void revokeAllPermissions(GranteeInterface grantee)
          Revokes the permissions of a grantee by removing the grantee from the ACL.
 void setOwner(S3Owner owner)
           
 java.lang.String toString()
          Returns a string representation of the ACL contents, useful for debugging.
 java.lang.String toXml()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

REST_CANNED_PRIVATE

public static final AccessControlList REST_CANNED_PRIVATE
A pre-canned REST ACL to set an object's permissions to Private (only owner can read/write)


REST_CANNED_PUBLIC_READ

public static final AccessControlList REST_CANNED_PUBLIC_READ
A pre-canned REST ACL to set an object's permissions to Public Read (anyone can read, only owner can write)


REST_CANNED_PUBLIC_READ_WRITE

public static final AccessControlList REST_CANNED_PUBLIC_READ_WRITE
A pre-canned REST ACL to set an object's permissions to Public Read and Write (anyone can read/write)


REST_CANNED_AUTHENTICATED_READ

public static final AccessControlList REST_CANNED_AUTHENTICATED_READ
A pre-canned REST ACL to set an object's permissions to Authenticated Read (authenticated Amazon users can read, only owner can write)

Constructor Detail

AccessControlList

public AccessControlList()
Method Detail

toString

public java.lang.String toString()
Returns a string representation of the ACL contents, useful for debugging.

Overrides:
toString in class java.lang.Object

getOwner

public S3Owner getOwner()

setOwner

public void setOwner(S3Owner owner)

grantPermission

public void grantPermission(GranteeInterface grantee,
                            Permission permission)
Adds a grantee to the ACL with the given permission. If this ACL already contains the grantee (ie the same grantee object) the permission for the grantee will be updated.

Parameters:
grantee - the grantee to whom the permission will apply
permission - the permission to apply to the grantee.

grantAllPermissions

public void grantAllPermissions(java.util.Set grants)
Adds a set of grantee/permission pairs to the ACL, where each item in the set is a GrantAndPermission object.

Parameters:
grants - a set of GrantAndPermission objects

revokeAllPermissions

public void revokeAllPermissions(GranteeInterface grantee)
Revokes the permissions of a grantee by removing the grantee from the ACL.

Parameters:
grantee - the grantee to remove from this ACL.

getGrants

public java.util.Set getGrants()
Returns:
the set of GrantAndPermission objects in this ACL.

toXml

public java.lang.String toXml()
                       throws S3ServiceException
Returns:
an XML representation of the Access Control List object, suitable to send in a request to S3.
Throws:
S3ServiceException

isCannedRestACL

public boolean isCannedRestACL()
Returns:
true if this ACL is a REST pre-canned one, in which case REST/HTTP implementations can use the x-amz-acl header as a short-cut to set permissions on upload rather than using a full ACL XML document.