]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.objmap2/src/org/simantics/objmap/graph/rules/range/AdaptedRangeAccessor.java
a38cb9e1f5225e589617b406911f8928d0b024e1
[simantics/3d.git] / org.simantics.objmap2 / src / org / simantics / objmap / graph / rules / range / AdaptedRangeAccessor.java
1 package org.simantics.objmap.graph.rules.range;\r
2 \r
3 import org.simantics.objmap.exceptions.MappingException;\r
4 import org.simantics.objmap.graph.rules.adapters.ValueAdapter;\r
5 \r
6 \r
7 \r
8 public class AdaptedRangeAccessor<Range> implements IRangeAccessor<Range,Object> {\r
9     IRangeAccessor<Range,Object> baseAccessor;\r
10     ValueAdapter adapter;\r
11     \r
12     public AdaptedRangeAccessor(IRangeAccessor<Range,Object> baseAccessror,\r
13             ValueAdapter adapter) {\r
14         this.baseAccessor = baseAccessror;\r
15         this.adapter = adapter;\r
16     }\r
17 \r
18     @Override\r
19     public Object get(Range element) throws MappingException {\r
20         return adapter.rangeToDomain(baseAccessor.get(element));    \r
21     }\r
22     \r
23     @Override\r
24     public boolean set(Range element, Object value) throws MappingException {\r
25         return baseAccessor.set(element, adapter.domainToRange(value));\r
26     }\r
27 }\r