]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/src/org/simantics/modeling/requests/Node.java
Merge "Default property editing restores assertions"
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / requests / Node.java
index 3d52b2604df683a08b8f610420ec2f17d023e6cf..4a43e0840a907cecc3bfd0bfbc847113775e8161 100644 (file)
@@ -27,15 +27,12 @@ import org.simantics.utils.strings.AlphanumComparator;
  */
 public class Node implements Comparable<Node> {
 
-    public static final Comparator<Node> CASE_INSENSITIVE_COMPARATOR = new Comparator<Node>() {
-        @Override
-        public int compare(Node o1, Node o2) {
-            return AlphanumComparator.CASE_INSENSITIVE_COMPARATOR.compare(o1.getName(), o2.getName());
-        }
-    };
+    public static final Comparator<Node> CASE_INSENSITIVE_COMPARATOR =
+            (o1, o2) -> AlphanumComparator.CASE_INSENSITIVE_COMPARATOR.compare(o1.getName(), o2.getName());
 
     private final Node       parent;
     private final List<Node> children = new ArrayList<Node>();
+    private final List<Node> unmodifiableChildren = Collections.unmodifiableList(children);
 
     /**
      * May be <code>null</code> if there is no diagram for this node.
@@ -44,10 +41,8 @@ public class Node implements Comparable<Node> {
     private final ResourceArray    definingResource; // i.e. Composite
     private final String           name;
 
-//    private String[]         partOfGroups = {};
-
     private PageDesc         pageDesc;
-    private String           RVI;
+    private String           rvi;
 
     /**
      * @param parent
@@ -67,6 +62,13 @@ public class Node implements Comparable<Node> {
             parent.addChild(this);
     }
 
+    public Node cloneWithoutChildren(Node parent) {
+        Node clone = new Node(parent, name, diagram, definingResource.resources);
+        clone.setRVI(rvi);
+        clone.setPageDesc(pageDesc);
+        return clone;
+    }
+
     public Node getParent() {
         return parent;
     }
@@ -100,27 +102,19 @@ public class Node implements Comparable<Node> {
     }
 
     public Collection<Node> getChildren() {
-        return Collections.unmodifiableCollection(children);
+        return unmodifiableChildren;
     }
 
-//    public void setPartOfGroups(Collection<String> groups) {
-//        this.partOfGroups = groups.toArray(new String[groups.size()]);
-//    }
-//
-//    public String[] getPartOfGroups() {
-//        return partOfGroups;
-//    }
-
     public void setPageDesc(PageDesc pageDesc) {
         this.pageDesc = pageDesc;
     }
     
-    public void setRVI(String RVI) {
-       this.RVI = RVI;
+    public void setRVI(String rvi) {
+       this.rvi = rvi;
     }
     
     public String getRVI() {
-       return RVI;
+       return rvi;
     }
 
     public PageDesc getPageDesc() {