]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.structural.synchronization.client/src/org/simantics/structural/synchronization/base/ComponentBase.java
Refactoring of simulator toolkit
[simantics/platform.git] / bundles / org.simantics.structural.synchronization.client / src / org / simantics / structural / synchronization / base / ComponentBase.java
diff --git a/bundles/org.simantics.structural.synchronization.client/src/org/simantics/structural/synchronization/base/ComponentBase.java b/bundles/org.simantics.structural.synchronization.client/src/org/simantics/structural/synchronization/base/ComponentBase.java
deleted file mode 100644 (file)
index 943b797..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-package org.simantics.structural.synchronization.base;
-
-import gnu.trove.map.hash.THashMap;
-import gnu.trove.procedure.TObjectObjectProcedure;
-import gnu.trove.procedure.TObjectProcedure;
-
-import java.io.PrintWriter;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.concurrent.atomic.AtomicReference;
-
-import org.simantics.databoard.annotations.Optional;
-
-abstract public class ComponentBase<T extends ComponentBase<T>> {
-
-    public int componentId;
-       
-    public String uid;
-    protected transient T parent;
-    
-    @Optional public String solverComponentName;
-    public boolean attached;
-    
-    public ComponentBase() {
-    }
-
-    public ComponentBase(String uid) {
-       this.uid = uid;
-    }
-    
-    public ComponentBase(String uid, int moduleId) {
-       this.uid = uid;
-       this.componentId = moduleId;
-    }
-
-    public ComponentBase(int moduleId) {
-       this.componentId = moduleId;
-    }
-    
-    /**
-     * Detaches a child by its UID.
-     */
-    public void detachByUid(final String uid) {
-        final AtomicReference<String> nameRef = new AtomicReference<String>();
-        getChildMap().forEachEntry(new TObjectObjectProcedure<String, T>() {
-            @Override
-            public boolean execute(String name, T conf) {
-                if(conf.uid.equals(uid)) {
-                    nameRef.set(name);
-                    return false;
-                }
-                else
-                    return true;
-            }
-        });
-        String name = nameRef.get();
-        getChildMap().remove(name);
-    }
-    
-    public Collection<T> getChildren() {
-        if(getChildMap() == null)
-            return Collections.emptyList();
-        else
-            return getChildMap().values();
-    }
-    
-       public T getChild(String name) {
-        if(getChildMap() == null)
-            return null;
-        else
-            return getChildMap().get(name);
-    }
-
-    public THashMap<String, T> setChildMapAndReturnOld(
-            THashMap<String, T> newChildMap) {
-        THashMap<String, T> oldChildMap = getChildMap();
-        setChildMap(newChildMap);
-        return oldChildMap;
-    }
-    
-    public int getModuleId() {
-        return componentId;
-    }
-
-    public String getUid() {
-        return uid;
-    }
-    
-    public void setModuleId(int moduleId) {
-        this.componentId = moduleId;
-    }
-    
-    public void setUid(String uid) {
-        this.uid = uid;
-    }
-    
-    public boolean isComposite() {
-        return getChildMap() != null;
-    }
-
-    public void printConfiguration(final int indentation) {
-        printConfiguration(new PrintWriter(System.out), indentation);
-    }
-
-    public void printConfiguration(final PrintWriter out, final int indentation) {
-        out.println(uid + " " + solverComponentName + "(" + componentId + ")");
-        if(getChildMap() != null)
-               getChildMap().forEachEntry(new TObjectObjectProcedure<String, T>() {
-                @Override
-                public boolean execute(String a, T b) {
-                    for(int i=0;i<indentation;++i)
-                        out.print("    ");
-                    out.print(a + " ");
-                    b.printConfiguration(out, indentation+1);
-                    return true;
-                }
-            });
-    }
-    
-    public void clearParent() {
-        this.parent = null;
-    }
-    
-    public T getParent() {
-       return parent;
-    }
-    
-    public void mapModuleIds(final int[] idMap) {
-        if(componentId > 0)
-            componentId = idMap[componentId];
-        if(getChildMap() != null)
-               getChildMap().forEachValue(new TObjectProcedure<T>() {
-                @Override
-                public boolean execute(T component) {
-                    component.mapModuleIds(idMap);
-                    return true;
-                }
-            });
-    }
-        
-    abstract public THashMap<String,T> getChildMap();
-    abstract public void setChildMap(THashMap<String, T> newChildMap);
-
-    public int componentHashCode() {
-       return hashCode();
-//        final int prime = 31;
-//        int result = 1;
-//        result = prime * result + ((parent == null) ? 0 : parent.hashCode());
-//        result = prime * result + ((uid == null) ? 0 : uid.hashCode());
-//        result = prime * result + getChildren().hashCode();
-//        return result;
-    }
-
-    public boolean componentEquals(Object obj) {
-       return this.equals(obj);
-//        if (this == obj)
-//            return true;
-//        if (obj == null)
-//            return false;
-//        if (getClass() != obj.getClass())
-//            return false;
-//        ComponentBase<?> other = (ComponentBase<?>) obj;
-//        if (parent == null) {
-//            if (other.parent != null)
-//                return false;
-//        } else if (!parent.equals(other.parent))
-//            return false;
-//        if (uid == null) {
-//            if (other.uid != null)
-//                return false;
-//        } else if (!uid.equals(other.uid))
-//            return false;
-//        
-//        return getChildren().equals(other.getChildren());
-//        
-//        //return true;
-//        
-    }
-
-}