]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/SheetLineComponent.java
Adopt spreadsheet changes made in Balas development
[simantics/platform.git] / bundles / org.simantics.spreadsheet / src / org / simantics / spreadsheet / solver / SheetLineComponent.java
1 package org.simantics.spreadsheet.solver;
2
3 import java.io.Serializable;
4
5 import org.simantics.structural.synchronization.utils.ComponentBase;
6
7 import gnu.trove.map.hash.THashMap;
8 import gnu.trove.procedure.TObjectProcedure;
9
10 public class SheetLineComponent extends ComponentBase<SheetLineComponent> implements Serializable {
11
12     private static final long serialVersionUID = 1777515716175831266L;
13
14     private THashMap<String, SheetLineComponent> childMap = new THashMap<>();
15
16     public SheetLineComponent(String uid) {
17         super(uid, 0);
18     }
19
20     @Override
21     public THashMap<String, SheetLineComponent> getChildMap() {
22         return childMap;
23     }
24
25     @Override
26     public void setChildMap(THashMap<String, SheetLineComponent> newChildMap) {
27         childMap = newChildMap;
28         if(childMap != null) {
29             childMap.forEachValue(new TObjectProcedure<SheetLineComponent>() {
30                 @Override
31                 public boolean execute(SheetLineComponent component) {
32                     component.parent = SheetLineComponent.this;
33                     return true;
34                 }
35             });
36         }
37     }
38
39     @Override
40     public String toString() {
41         return solverComponentName + " (" + super.toString() + ")";
42     }
43
44 }