package org.simantics.document.server; import org.simantics.db.ConverterExternalValue; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.exception.DatabaseException; import org.simantics.document.base.ontology.DocumentationResource; import org.simantics.document.server.request.ServerSCLValueRequest; import org.simantics.scl.reflection.ReflectionUtils; import org.simantics.scl.reflection.ValueNotFoundException; import org.simantics.scl.runtime.function.Function1; public class SCLExternalValue implements ConverterExternalValue { @Override public T getValue(ReadGraph graph, Resource resource) throws DatabaseException { try { return (T)ReflectionUtils.getValue(DocumentationResource.URIs.Functions_sclValue).getValue(); } catch (ValueNotFoundException e) { throw new DatabaseException(e); } } @Override public Function1 getFunction(ReadGraph graph, Resource s, Resource o, Resource p) throws DatabaseException { return ServerSCLValueRequest.compile(graph, s, o, p); } }