-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathStoreProvider.java
119 lines (77 loc) · 2.65 KB
/
StoreProvider.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
package orchi.HHCloud.store;
import orchi.HHCloud.quota.QuotaProvider;
import orchi.HHCloud.store.arguments.*;
import orchi.HHCloud.store.response.*;
import orchi.HHCloud.user.User;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Path;
import java.util.Map;
public interface StoreProvider extends QuotaProvider {
public void init();
public void start();
public void createStoreContextToUser(User user) throws IOException;
/**
* api de alto nivel
*/
public CreateDirectoryResponse mkdir(MkDirArguments args);
/**
* Eliminar un o varias rutas
* */
public DeleteResponse delete(DeleteArguments args);
/**
* Listar una rruta
*/
public ListResponse list(ListArguments args);
/**
* Obtener info de una rruta
* */
public GetStatusResponse status(GetStatusArguments args);
/**
* Copiar una rruta a otra rruta
* */
public MoveOrCopyResponse copy(MoveOrCopyArguments args);
/**
* Mover una rruta
* */
public MoveOrCopyResponse move(MoveOrCopyArguments args);
/**
* Renombrar una rruta
* */
public RenameResponse rename(RenameArguments args);
/**
* Descargar una rruta
* */
public void download(DownloadArguments args);
/**
* Api de bajo nivel con usuario
*/
public void read(User user, Path path, OutputStream out);
public void read(User user, Path path, Range range, OutputStream out);
public void create(User user, Path path, InputStream in) throws Exception;
public void delete(User user, Path path);
public void touch(User user, Path path);
public boolean exists(User user, Path path);
public boolean isFile(User user, Path path);
public boolean isDirectory(User user, Path path);
public Long getSize(User user, Path path);
public ContentSummary getContentSummary(User user, Path path);
/**
* Api de bajo nivel
*/
public void read(Path path, OutputStream out);
public void read(Path path, Range range, OutputStream out);
public void create(Path path, InputStream in) throws Exception;
public void delete(Path path);
public void touch(Path path);
public boolean exists(Path path);
public boolean isFile(Path path);
public boolean isDirectory(Path path);
public Long getSize(Path path);
public ContentSummary getContentSummary(Path path);
public byte[] getAttr(Path path,String name);
public Map<String, byte[]> getAttr(Path path);
public void setAttr(Path path,String name,byte[] value);
public void deleteAttr(Path path,String name);
}