]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.workbench.search/src/org/simantics/workbench/search/NamedResource.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.workbench.search / src / org / simantics / workbench / search / NamedResource.java
1 package org.simantics.workbench.search;\r
2 \r
3 import org.simantics.NameLabelUtil;\r
4 import org.simantics.db.ReadGraph;\r
5 import org.simantics.db.Resource;\r
6 import org.simantics.db.ServiceLocator;\r
7 import org.simantics.db.exception.DatabaseException;\r
8 import org.simantics.db.service.SerialisationSupport;\r
9 \r
10 /**\r
11  * @author Tuukka Lehtonen\r
12  */\r
13 public class NamedResource {\r
14 \r
15     private final String resource;\r
16     private final String name;\r
17     private final String uri;\r
18 \r
19     public static NamedResource of(ReadGraph graph, Resource resource) throws DatabaseException {\r
20         return of(graph, resource, NameLabelUtil.modalName(graph, resource));\r
21     }\r
22 \r
23     public static NamedResource of(ReadGraph graph, Resource resource, String name) throws DatabaseException {\r
24         return of(graph, resource, name, graph.getPossibleURI(resource));\r
25     }\r
26 \r
27     public static NamedResource of(ServiceLocator locator, Resource resource, String name, String uri) throws DatabaseException {\r
28         SerialisationSupport ss = locator.getService(SerialisationSupport.class);\r
29         return new NamedResource("" + ss.getRandomAccessId(resource), name, uri);\r
30     }\r
31 \r
32     public NamedResource(String resource, String name) {\r
33         this(resource, name, null);\r
34     }\r
35 \r
36     public NamedResource(String resource, String name, String uri) {\r
37         this.resource = resource;\r
38         this.name = name;\r
39         this.uri = uri;\r
40     }\r
41 \r
42     public String getResource() {\r
43         return resource;\r
44     }\r
45 \r
46     public String getName() {\r
47         return name;\r
48     }\r
49 \r
50     public String getUri() {\r
51         return uri;\r
52     }\r
53 \r
54 }\r