]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.api/src/org/argeo/api/gcr/AbstractContent.java
a54ff1ee2e76734b66f9a8c2910fd545a6cd6ff0
[lgpl/argeo-commons.git] / org.argeo.api / src / org / argeo / api / gcr / AbstractContent.java
1 package org.argeo.api.gcr;
2
3 import java.util.AbstractMap;
4 import java.util.HashSet;
5 import java.util.Set;
6
7 public abstract class AbstractContent extends AbstractMap<String, Object> implements Content {
8
9 @Override
10 public Set<Entry<String, Object>> entrySet() {
11 Set<Entry<String, Object>> result = new HashSet<>();
12 for (String key : keys()) {
13 Entry<String, Object> entry = new Entry<String, Object>() {
14
15 @Override
16 public String getKey() {
17 return key;
18 }
19
20 @Override
21 public Object getValue() {
22 // TODO check type
23 return attr(key);
24 }
25
26 @Override
27 public Object setValue(Object value) {
28 throw new UnsupportedOperationException();
29 }
30
31 };
32 result.add(entry);
33 }
34 return result;
35 }
36
37 protected abstract Iterable<String> keys();
38 }