1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.jclouds.blobstore;
20
21 import java.util.Set;
22
23 import javax.annotation.Nullable;
24
25 import org.jclouds.blobstore.domain.Blob;
26 import org.jclouds.blobstore.domain.BlobBuilder;
27 import org.jclouds.blobstore.domain.BlobMetadata;
28 import org.jclouds.blobstore.domain.PageSet;
29 import org.jclouds.blobstore.domain.StorageMetadata;
30 import org.jclouds.blobstore.options.CreateContainerOptions;
31 import org.jclouds.blobstore.options.GetOptions;
32 import org.jclouds.blobstore.options.ListContainerOptions;
33 import org.jclouds.blobstore.options.PutOptions;
34 import org.jclouds.domain.Location;
35
36 import com.google.common.util.concurrent.ListenableFuture;
37
38
39
40
41
42
43 public interface AsyncBlobStore {
44
45
46
47 BlobStoreContext getContext();
48
49
50
51
52 @Deprecated
53 Blob newBlob(String name);
54
55
56
57
58 BlobBuilder blobBuilder(String name);
59
60
61
62
63 ListenableFuture<Set<? extends Location>> listAssignableLocations();
64
65
66
67
68 ListenableFuture<PageSet<? extends StorageMetadata>> list();
69
70
71
72
73 ListenableFuture<Boolean> containerExists(String container);
74
75
76
77
78 ListenableFuture<Boolean> createContainerInLocation(@Nullable Location location, String container);
79
80
81
82
83 ListenableFuture<Boolean> createContainerInLocation(@Nullable Location location, String container,
84 CreateContainerOptions options);
85
86
87
88
89 ListenableFuture<PageSet<? extends StorageMetadata>> list(String container);
90
91
92
93
94 ListenableFuture<PageSet<? extends StorageMetadata>> list(String container, ListContainerOptions options);
95
96
97
98
99 ListenableFuture<Void> clearContainer(String container);
100
101
102
103
104 ListenableFuture<Void> clearContainer(String container, ListContainerOptions options);
105
106
107
108
109 ListenableFuture<Void> deleteContainer(String container);
110
111
112
113
114 ListenableFuture<Boolean> directoryExists(String container, String directory);
115
116
117
118
119 ListenableFuture<Void> createDirectory(String container, String directory);
120
121
122
123
124 ListenableFuture<Void> deleteDirectory(String containerName, String name);
125
126
127
128
129 ListenableFuture<Boolean> blobExists(String container, String name);
130
131
132
133
134 ListenableFuture<String> putBlob(String container, Blob blob);
135
136
137
138
139 ListenableFuture<String> putBlob(String container, Blob blob, PutOptions options);
140
141
142
143
144 ListenableFuture<BlobMetadata> blobMetadata(String container, String key);
145
146
147
148
149 ListenableFuture<Blob> getBlob(String container, String key);
150
151
152
153
154 ListenableFuture<Blob> getBlob(String container, String key, GetOptions options);
155
156
157
158
159 ListenableFuture<Void> removeBlob(String container, String key);
160
161
162
163
164 ListenableFuture<Long> countBlobs(String container);
165
166
167
168
169 ListenableFuture<Long> countBlobs(String container, ListContainerOptions options);
170
171 }