--- /dev/null
+package org.simantics.district.network.visualisations.model;
+
+import java.util.List;
+import java.util.Map;
+
+import org.simantics.scl.runtime.function.Function1;
+import org.simantics.scl.runtime.function.Function2;
+import org.simantics.scl.runtime.tuple.Tuple0;
+
+public class DynamicSymbolContribution {
+
+ private List<String> children;
+ private Function2<Map<String, Integer>, Map<String, String>, String> symbolFunction;
+ private Function1<Tuple0, Map<String, String>> symbolMapFunction;
+
+ private Map<String, String> symbolMap;
+
+ // for graph persistence only
+ private boolean used;
+ private boolean useDefault;
+
+ public DynamicSymbolContribution(List<String> children, Function2<Map<String, Integer>, Map<String, String>, String> symbolFunction, Function1<Tuple0, Map<String, String>> symbolMapFunction) {
+ this.children = children;
+ this.symbolFunction = symbolFunction;
+ this.symbolMapFunction = symbolMapFunction;
+ }
+
+ public List<String> getChildren() {
+ return children;
+ }
+
+ public Function2<Map<String, Integer>, Map<String, String>, String> getSymbolFunction() {
+ return symbolFunction;
+ }
+
+ public void resolveSymbolMap() {
+ symbolMap = symbolMapFunction.apply(Tuple0.INSTANCE);
+ }
+
+ public Map<String, String> getSymbolMap() {
+ return symbolMap;
+ }
+
+ public boolean isUsed() {
+ return used;
+ }
+
+ public void setUsed(boolean used) {
+ this.used = used;
+ }
+
+ public boolean isUseDefault() {
+ return useDefault;
+ }
+
+ public void setUseDefault(boolean useDefault) {
+ this.useDefault = useDefault;
+ }
+
+}
\ No newline at end of file