X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.document.linking.ui%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Flinking%2Freport%2Fevaluator%2FEvaluatorNode.java;h=d79139e5a3aae6808d183b7c487998f360803aa7;hb=e88be95edf1f80781646cfdf717ec1b663264179;hp=0efafe1f7cd251964e6085d5acdd75823d4bbf30;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/evaluator/EvaluatorNode.java b/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/evaluator/EvaluatorNode.java index 0efafe1f7..d79139e5a 100644 --- a/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/evaluator/EvaluatorNode.java +++ b/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/evaluator/EvaluatorNode.java @@ -1,130 +1,130 @@ -package org.simantics.document.linking.report.evaluator; - -import java.util.ArrayList; -import java.util.List; - -import org.simantics.objmap.graph.annotations.OrderedElementsAdd; -import org.simantics.objmap.graph.annotations.OrderedElementsGet; -import org.simantics.objmap.graph.annotations.OrderedElementsRem; - -public abstract class EvaluatorNode implements EvaluatorItem{ - - EvaluatorNode parent; - - List children = new ArrayList(); - - - @Override - public EvaluatorNode getParent() { - return parent; - } - - @Override - public void setParent(EvaluatorNode parent) { - this.parent = parent; - } - - @OrderedElementsGet - public List getChildren() { - return children; - } - - public boolean acceptChild(EvaluatorItem item) { - return true; - } - - public boolean acceptChild(int index, EvaluatorItem item) { - return true; - } - - public void addChild(EvaluatorItem item) { - children.add(item); - item.setParent(this); - } - - @OrderedElementsAdd - public void addChild(int index, EvaluatorItem item) { - children.add(index, item); - item.setParent(this); - } - - public int indexOf(EvaluatorItem item) { - return children.indexOf(item); - } - - @OrderedElementsRem - public void removeChild(EvaluatorItem item) { - children.remove(item); - item.setParent(null); - } - - - public List> getPossibleChildren(boolean add) { - List> classes = new ArrayList>(); - classes.add(And.class); - classes.add(Or.class); - classes.add(If.class); - classes.add(Constant.class); - classes.add(Variable.class); - classes.add(Date.class); - classes.add(Path.class); - EvaluatorRoot root = getRoot(); - if (root != null && root.isSupportStyles()) { - classes.add(TextSizeHint.class); - classes.add(AlignmentHint.class); - } - - return classes; - } - - @SuppressWarnings("unchecked") - public T createChild(Class cls) { - EvaluatorItem child; - try { - child = cls.newInstance(); - if (child instanceof EvaluatorNode) - ((EvaluatorNode)child).parent = this; - else if (child instanceof EvaluatorLeaf) { - ((EvaluatorLeaf)child).parent = this; - } - addChild(child); - return (T)child; - } catch (Exception e) { - - } - return null; - } - - @SuppressWarnings("unchecked") - public T createChild(int index, Class cls) { - EvaluatorItem child; - try { - child = cls.newInstance(); - if (child instanceof EvaluatorNode) - ((EvaluatorNode)child).parent = this; - else if (child instanceof EvaluatorLeaf) { - ((EvaluatorLeaf)child).parent = this; - } - addChild(child); - return (T)child; - } catch (Exception e) { - - } - return null; - - } - - @Override - public EvaluatorRoot getRoot() { - if (parent == null) - return null; - return parent.getRoot(); - } - - protected void copyChildren(EvaluatorNode copy) { - for (EvaluatorItem i : children) { - copy.addChild(i.copy()); - } - } - -} +package org.simantics.document.linking.report.evaluator; + +import java.util.ArrayList; +import java.util.List; + +import org.simantics.objmap.graph.annotations.OrderedElementsAdd; +import org.simantics.objmap.graph.annotations.OrderedElementsGet; +import org.simantics.objmap.graph.annotations.OrderedElementsRem; + +public abstract class EvaluatorNode implements EvaluatorItem{ + + EvaluatorNode parent; + + List children = new ArrayList(); + + + @Override + public EvaluatorNode getParent() { + return parent; + } + + @Override + public void setParent(EvaluatorNode parent) { + this.parent = parent; + } + + @OrderedElementsGet + public List getChildren() { + return children; + } + + public boolean acceptChild(EvaluatorItem item) { + return true; + } + + public boolean acceptChild(int index, EvaluatorItem item) { + return true; + } + + public void addChild(EvaluatorItem item) { + children.add(item); + item.setParent(this); + } + + @OrderedElementsAdd + public void addChild(int index, EvaluatorItem item) { + children.add(index, item); + item.setParent(this); + } + + public int indexOf(EvaluatorItem item) { + return children.indexOf(item); + } + + @OrderedElementsRem + public void removeChild(EvaluatorItem item) { + children.remove(item); + item.setParent(null); + } + + + public List> getPossibleChildren(boolean add) { + List> classes = new ArrayList>(); + classes.add(And.class); + classes.add(Or.class); + classes.add(If.class); + classes.add(Constant.class); + classes.add(Variable.class); + classes.add(Date.class); + classes.add(Path.class); + EvaluatorRoot root = getRoot(); + if (root != null && root.isSupportStyles()) { + classes.add(TextSizeHint.class); + classes.add(AlignmentHint.class); + } + + return classes; + } + + @SuppressWarnings("unchecked") + public T createChild(Class cls) { + EvaluatorItem child; + try { + child = cls.newInstance(); + if (child instanceof EvaluatorNode) + ((EvaluatorNode)child).parent = this; + else if (child instanceof EvaluatorLeaf) { + ((EvaluatorLeaf)child).parent = this; + } + addChild(child); + return (T)child; + } catch (Exception e) { + + } + return null; + } + + @SuppressWarnings("unchecked") + public T createChild(int index, Class cls) { + EvaluatorItem child; + try { + child = cls.newInstance(); + if (child instanceof EvaluatorNode) + ((EvaluatorNode)child).parent = this; + else if (child instanceof EvaluatorLeaf) { + ((EvaluatorLeaf)child).parent = this; + } + addChild(child); + return (T)child; + } catch (Exception e) { + + } + return null; + + } + + @Override + public EvaluatorRoot getRoot() { + if (parent == null) + return null; + return parent.getRoot(); + } + + protected void copyChildren(EvaluatorNode copy) { + for (EvaluatorItem i : children) { + copy.addChild(i.copy()); + } + } + +}