1 package org.simantics.workbench.search;
3 import org.simantics.NameLabelUtil;
4 import org.simantics.db.ReadGraph;
5 import org.simantics.db.Resource;
6 import org.simantics.db.ServiceLocator;
7 import org.simantics.db.exception.DatabaseException;
8 import org.simantics.db.service.SerialisationSupport;
11 * @author Tuukka Lehtonen
13 public class NamedResource {
15 private final String resource;
16 private final String name;
17 private final String uri;
19 public static NamedResource of(ReadGraph graph, Resource resource) throws DatabaseException {
20 return of(graph, resource, NameLabelUtil.modalName(graph, resource));
23 public static NamedResource of(ReadGraph graph, Resource resource, String name) throws DatabaseException {
24 return of(graph, resource, name, graph.getPossibleURI(resource));
27 public static NamedResource of(ServiceLocator locator, Resource resource, String name, String uri) throws DatabaseException {
28 SerialisationSupport ss = locator.getService(SerialisationSupport.class);
29 return new NamedResource("" + ss.getRandomAccessId(resource), name, uri);
32 public NamedResource(String resource, String name) {
33 this(resource, name, null);
36 public NamedResource(String resource, String name, String uri) {
37 this.resource = resource;
42 public String getResource() {
46 public String getName() {
50 public String getUri() {