1 package org.simantics.spreadsheet.graph.adapter;
\r
3 import org.simantics.db.ReadGraph;
\r
4 import org.simantics.db.Resource;
\r
5 import org.simantics.db.WriteGraph;
\r
6 import org.simantics.db.exception.DatabaseException;
\r
7 import org.simantics.db.layer0.variable.StandardGraphChildVariable;
\r
8 import org.simantics.db.layer0.variable.Variable;
\r
9 import org.simantics.spreadsheet.common.cell.VariableCellEditor;
\r
11 public class CellVariable extends StandardGraphChildVariable {
\r
13 public CellVariable(Variable parent, Resource resource) throws DatabaseException {
\r
14 super(parent, null, resource);
\r
18 public String getLabel(ReadGraph graph) throws DatabaseException {
\r
22 @SuppressWarnings("unchecked")
\r
23 protected <T> T tryAdapt(ReadGraph graph, Class<T> clazz) throws DatabaseException {
\r
24 if(VariableCellEditor.class == clazz) {
\r
25 return (T)new VariableCellEditor() {
\r
28 public void edit(WriteGraph graph, Variable cell, String text) throws DatabaseException {
\r
32 public void copy(WriteGraph graph, Variable cell, String location) throws DatabaseException {
\r
41 public <T> T adapt(ReadGraph graph, Class<T> clazz) throws DatabaseException {
\r
42 T t = tryAdapt(graph, clazz);
\r
43 return t != null ? t : super.adapt(graph, clazz);
\r
47 public <T> T adaptPossible(ReadGraph graph, Class<T> clazz) throws DatabaseException {
\r
48 T t = tryAdapt(graph, clazz);
\r
49 return t != null ? t : super.adaptPossible(graph, clazz);
\r