1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.jci.stores;
19
20 import java.util.ArrayList;
21 import java.util.HashMap;
22 import java.util.List;
23 import java.util.Map;
24 import org.apache.commons.logging.Log;
25 import org.apache.commons.logging.LogFactory;
26
27
28
29
30
31
32
33 public final class MemoryResourceStore implements ResourceStore {
34
35 private final Log log = LogFactory.getLog(MemoryResourceStore.class);
36
37 private final Map<String, byte[]> store = new HashMap<String, byte[]>();
38
39 public byte[] read( final String pResourceName ) {
40 log.debug("reading resource " + pResourceName);
41 return store.get(pResourceName);
42 }
43
44 public void write( final String pResourceName, final byte[] pData ) {
45 log.debug("writing resource " + pResourceName + "(" + pData.length + ")");
46 store.put(pResourceName, pData);
47 }
48
49 public void remove( final String pResourceName ) {
50 log.debug("removing resource " + pResourceName);
51 store.remove(pResourceName);
52 }
53
54
55
56
57 @Deprecated
58 public String[] list() {
59 if (store == null) {
60 return new String[0];
61 }
62 final List<String> names = new ArrayList<String>();
63
64 for (String name : store.keySet()) {
65 names.add(name);
66 }
67
68 return names.toArray(new String[store.size()]);
69 }
70
71 @Override
72 public String toString() {
73 return this.getClass().getName() + store.toString();
74 }
75 }