org.jets3t.service.acl
Class AccessControlList

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

public class AccessControlList
extends Object
implements 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
 GrantAndPermission[] getGrantAndPermissions()
           
 Set getGrants()
          Deprecated. Version 0.7.4, use type-safe getGrantAndPermissions() instead
 S3Owner getOwner()
           
 void grantAllPermissions(GrantAndPermission[] grantAndPermissions)
          Adds a set of grantee/permission pairs to the ACL, where each item in the set is a GrantAndPermission object.
 void grantAllPermissions(Set grants)
          Deprecated. Version 0.7.4, use type-safe grantAllPermissions(GrantAndPermission[]) instead.
 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)
           
 String toString()
          Returns a string representation of the ACL contents, useful for debugging.
 String toXml()
           
 
Methods inherited from class java.lang.Object
equals, 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 String toString()
Returns a string representation of the ACL contents, useful for debugging.

Overrides:
toString in class 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(Set grants)
Deprecated. Version 0.7.4, use type-safe grantAllPermissions(GrantAndPermission[]) instead.

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

grantAllPermissions

public void grantAllPermissions(GrantAndPermission[] grantAndPermissions)
Adds a set of grantee/permission pairs to the ACL, where each item in the set is a GrantAndPermission object.

Parameters:
grantAndPermissions - the grant and permission combinations to add.

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 Set getGrants()
Deprecated. Version 0.7.4, use type-safe getGrantAndPermissions() instead

Returns:
the set of GrantAndPermission objects in this ACL.

getGrantAndPermissions

public GrantAndPermission[] getGrantAndPermissions()
Returns:
the grant and permission collections in this ACL.

toXml

public 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.