package org.simantics.document.swt.core.scl; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.exception.DatabaseException; import org.simantics.db.layer0.variable.Variable; import org.simantics.db.layer0.variable.VariableBean; import org.simantics.document.server.request.ServerSCLValueRequest; import org.simantics.scl.reflection.annotations.SCLValue; public class Functions { @SCLValue(type = "ReadGraph -> Resource -> Variable -> VariableBean") public static VariableBean explorerInput(ReadGraph graph, Resource converter, Variable context) throws DatabaseException { Variable component = context.getParent(graph); Variable input = component.getPossiblePropertyValue(graph, "input"); return new VariableBean(graph, input); } @SCLValue(type = "ReadGraph -> Resource -> Variable -> Variable") public static Variable input(ReadGraph graph, Resource converter, Variable context) throws DatabaseException { Variable component = context.getParent(graph); Variable input = component.getPossiblePropertyValue(graph, "input"); return input; } @SCLValue(type = "ReadGraph -> Resource -> Variable -> a") public static Object sclValue(ReadGraph graph, Resource converter, Variable context) throws DatabaseException { return ServerSCLValueRequest.compileAndEvaluate(graph, context); } }