Statistics
| Branch: | Revision:

root / asi-http-request-with-pithos / Classes / S3 / ASIS3BucketObject.m @ be116d22

History | View | Annotate | Download (1.9 kB)

1
//
2
//  ASIS3BucketObject.m
3
//  Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest
4
//
5
//  Created by Ben Copsey on 13/07/2009.
6
//  Copyright 2009 All-Seeing Interactive. All rights reserved.
7
//
8

    
9
#import "ASIS3BucketObject.h"
10
#import "ASIS3ObjectRequest.h"
11

    
12
@implementation ASIS3BucketObject
13

    
14
+ (id)objectWithBucket:(NSString *)theBucket
15
{
16
	ASIS3BucketObject *object = [[[self alloc] init] autorelease];
17
	[object setBucket:theBucket];
18
	return object;
19
}
20

    
21
- (void)dealloc
22
{
23
	[bucket release];
24
	[key release];
25
	[lastModified release];
26
	[ETag release];
27
	[ownerID release];
28
	[ownerName release];
29
	[super dealloc];
30
}
31

    
32
- (ASIS3ObjectRequest *)GETRequest
33
{
34
	return [ASIS3ObjectRequest requestWithBucket:[self bucket] key:[self key]];
35
}
36

    
37
- (ASIS3ObjectRequest *)PUTRequestWithFile:(NSString *)filePath
38
{
39
	return [ASIS3ObjectRequest PUTRequestForFile:filePath withBucket:[self bucket] key:[self key]];
40
}
41

    
42
- (ASIS3ObjectRequest *)DELETERequest
43
{
44
	ASIS3ObjectRequest *request = [ASIS3ObjectRequest requestWithBucket:[self bucket] key:[self key]];
45
	[request setRequestMethod:@"DELETE"];
46
	return request;
47
}
48

    
49
- (NSString *)description
50
{
51
	return [NSString stringWithFormat:@"Key: %@ lastModified: %@ ETag: %@ size: %llu ownerID: %@ ownerName: %@",[self key],[self lastModified],[self ETag],[self size],[self ownerID],[self ownerName]];
52
}
53

    
54
- (id)copyWithZone:(NSZone *)zone
55
{
56
	ASIS3BucketObject *newBucketObject = [[[self class] alloc] init];
57
	[newBucketObject setBucket:[self bucket]];
58
	[newBucketObject setKey:[self key]];
59
	[newBucketObject setLastModified:[self lastModified]];
60
	[newBucketObject setETag:[self ETag]];
61
	[newBucketObject setSize:[self size]];
62
	[newBucketObject setOwnerID:[self ownerID]];
63
	[newBucketObject setOwnerName:[self ownerName]];
64
	return newBucketObject;
65
}
66

    
67
@synthesize bucket;
68
@synthesize key;
69
@synthesize lastModified;
70
@synthesize ETag;
71
@synthesize size;
72
@synthesize ownerID;
73
@synthesize ownerName;
74
@end