]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.workbench.search/src/org/simantics/workbench/search/NamedResource.java
Index tokenized lowercase versions of name and types for UI searches
[simantics/platform.git] / bundles / org.simantics.workbench.search / src / org / simantics / workbench / search / NamedResource.java
1 package org.simantics.workbench.search;
2
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;
9
10 /**
11  * @author Tuukka Lehtonen
12  */
13 public class NamedResource {
14
15     private final String resource;
16     private final String name;
17     private final String uri;
18
19     public static NamedResource of(ReadGraph graph, Resource resource) throws DatabaseException {
20         return of(graph, resource, NameLabelUtil.modalName(graph, resource));
21     }
22
23     public static NamedResource of(ReadGraph graph, Resource resource, String name) throws DatabaseException {
24         return of(graph, resource, name, graph.getPossibleURI(resource));
25     }
26
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);
30     }
31
32     public NamedResource(String resource, String name) {
33         this(resource, name, null);
34     }
35
36     public NamedResource(String resource, String name, String uri) {
37         this.resource = resource;
38         this.name = name;
39         this.uri = uri;
40     }
41
42     public String getResource() {
43         return resource;
44     }
45
46     public String getName() {
47         return name;
48     }
49
50     public String getUri() {
51         return uri;
52     }
53
54 }