Skip to content

Commit 474dd23

Browse files
committed
AbstractOptions: implements Map<String, Object> #1
- this makes it possible to use options with the scijava CommandService.run(final Class<C> commandClass, final boolean process, final Map<String, Object> inputMap) method
1 parent 3f8fa41 commit 474dd23

1 file changed

Lines changed: 63 additions & 1 deletion

File tree

src/main/java/org/scijava/optional/AbstractOptions.java

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package org.scijava.optional;
22

3+
import java.util.Collection;
34
import java.util.LinkedHashMap;
45
import java.util.Map;
6+
import java.util.Set;
57

6-
public abstract class AbstractOptions< T extends AbstractOptions< T > > implements Options< T >
8+
public class AbstractOptions< T extends AbstractOptions< T > > implements Options< T >, Map<String, Object>
79
{
810
final LinkedHashMap< String, Object > theOptions = new LinkedHashMap<>();
911

@@ -57,4 +59,64 @@ public String toString()
5759
sb.append( "}" );
5860
return sb.toString();
5961
}
62+
63+
@Override
64+
public int size() {
65+
return theOptions.size();
66+
}
67+
68+
@Override
69+
public boolean isEmpty() {
70+
return theOptions.isEmpty();
71+
}
72+
73+
@Override
74+
public boolean containsKey(Object key) {
75+
return theOptions.containsKey(key);
76+
}
77+
78+
@Override
79+
public boolean containsValue(Object value) {
80+
return theOptions.containsValue(value);
81+
}
82+
83+
@Override
84+
public Object get(Object key) {
85+
return theOptions.get(key);
86+
}
87+
88+
@Override
89+
public Object put(String key, Object value) {
90+
return theOptions.put(key, value);
91+
}
92+
93+
@Override
94+
public Object remove(Object key) {
95+
return theOptions.remove(key);
96+
}
97+
98+
@Override
99+
public void putAll(Map<? extends String, ?> m) {
100+
theOptions.putAll(m);
101+
}
102+
103+
@Override
104+
public void clear() {
105+
theOptions.clear();
106+
}
107+
108+
@Override
109+
public Set<String> keySet() {
110+
return theOptions.keySet();
111+
}
112+
113+
@Override
114+
public Collection<Object> values() {
115+
return theOptions.values();
116+
}
117+
118+
@Override
119+
public Set<Entry<String, Object>> entrySet() {
120+
return theOptions.entrySet();
121+
}
60122
}

0 commit comments

Comments
 (0)