package org.simantics.modeling.ui.viewpoint; import java.util.Collections; import java.util.Map; import org.simantics.browsing.ui.common.ColumnKeys; import org.simantics.browsing.ui.model.labels.LabelRule; import org.simantics.databoard.Bindings; import org.simantics.db.ReadGraph; import org.simantics.db.exception.DatabaseException; import org.simantics.db.layer0.variable.Variable; public class VariableLabelRule implements LabelRule { @Override public boolean isCompatible(Class contentType) { return contentType.equals(Variable.class); } @Override public Map getLabel(ReadGraph graph, Object content) throws DatabaseException { Variable var = (Variable) content; String name = null; Variable browseName = var.getPossibleProperty(graph, "browseName"); if (browseName != null) name = browseName.getPossibleValue(graph, Bindings.STRING); if (name == null) name = var.getName(graph); return Collections.singletonMap(ColumnKeys.SINGLE, name); } }