1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package net.sf.oxclient.service.client.module;
17
18 import java.util.HashMap;
19 import java.util.List;
20 import java.util.Map;
21
22 import net.sf.oval.constraint.NotNull;
23 import net.sf.oval.guard.Guarded;
24 import net.sf.oxclient.beans.Folder;
25 import net.sf.oxclient.service.client.IOXFolderModule;
26
27
28
29
30
31 @Guarded
32 public class OXFolderModule extends AbsOXModule<Folder>
33 implements IOXFolderModule {
34
35 public OXFolderModule() {
36 super("folders", Folder.class);
37 }
38
39
40
41
42 @Override
43 public Folder getDefaultFolder() {
44 return RootFolder.getInstance();
45 }
46
47
48
49
50 public List<Folder> getRootFolders() {
51 return getSubFolders(getDefaultFolder());
52 }
53
54
55
56
57 public List<Folder> getSubFolders(final Folder folder) {
58 return list(folder);
59 }
60
61
62
63
64 @Override
65 public Map<String, String> getListParameters(@NotNull final Folder parent) {
66 final String parentId = parent.getId();
67 if (parentId == null) {
68 throw new IllegalArgumentException("parent has no id");
69 }
70 final Map<String, String> result = new HashMap<String, String>();
71 if (parent instanceof RootFolder) {
72 result.put("action", "root");
73 } else {
74 result.put("action", "list");
75 result.put("parent", parentId);
76 }
77 return result;
78 }
79
80
81
82
83 public List<Folder> getPrivateFolders() {
84 final Folder privateFolder = new Folder();
85 privateFolder.setId("1");
86 return getSubFolders(privateFolder);
87 }
88
89 }