]> git.argeo.org Git - lgpl/argeo-commons.git/blob - rcp/org.argeo.eclipse.ui.rcp/src/org/argeo/eclipse/ui/rcp/internal/rwt/RcpResourceManager.java
Plugins SNAPSHOT repository.
[lgpl/argeo-commons.git] / rcp / org.argeo.eclipse.ui.rcp / src / org / argeo / eclipse / ui / rcp / internal / rwt / RcpResourceManager.java
1 package org.argeo.eclipse.ui.rcp.internal.rwt;
2
3 import java.io.ByteArrayInputStream;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.util.Collections;
7 import java.util.Map;
8 import java.util.TreeMap;
9
10 import org.apache.commons.io.IOUtils;
11 import org.eclipse.rap.rwt.service.ResourceManager;
12
13 public class RcpResourceManager implements ResourceManager {
14 private Map<String, byte[]> register = Collections
15 .synchronizedMap(new TreeMap<String, byte[]>());
16
17 @Override
18 public void register(String name, InputStream in) {
19 try {
20 register.put(name, IOUtils.toByteArray(in));
21 } catch (IOException e) {
22 throw new RuntimeException("Cannot register " + name, e);
23 }
24 }
25
26 @Override
27 public boolean unregister(String name) {
28 return register.remove(name) != null;
29 }
30
31 @Override
32 public InputStream getRegisteredContent(String name) {
33 return new ByteArrayInputStream(register.get(name));
34 }
35
36 @Override
37 public String getLocation(String name) {
38 return name;
39 }
40
41 @Override
42 public boolean isRegistered(String name) {
43 return register.containsKey(name);
44 }
45
46 }