]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/formula/IfErrorFormulaFunction.java
Introduce new DiagramViewer.getRuntimeFromManager()
[simantics/platform.git] / bundles / org.simantics.spreadsheet / src / org / simantics / spreadsheet / solver / formula / IfErrorFormulaFunction.java
1 package org.simantics.spreadsheet.solver.formula;
2
3 import org.simantics.spreadsheet.solver.formula.parser.ast.AstArgList;
4
5 public class IfErrorFormulaFunction implements CellFormulaFunction<Object> {
6
7     @Override
8     public Object evaluate(CellValueVisitor visitor, AstArgList args) {
9
10         if (args.values.size() != 2) throw new IllegalStateException();
11
12         Object condition = args.values.get(0).accept(visitor);
13         FormulaError2 error = FormulaError2.forObject(condition);
14         if(error!=null) return error.getString();
15         else return condition;
16     }
17 }