]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - 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
diff --git a/bundles/org.simantics.workbench.search/src/org/simantics/workbench/search/NamedResource.java b/bundles/org.simantics.workbench.search/src/org/simantics/workbench/search/NamedResource.java
new file mode 100644 (file)
index 0000000..8a3b716
--- /dev/null
@@ -0,0 +1,54 @@
+package org.simantics.workbench.search;\r
+\r
+import org.simantics.NameLabelUtil;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.ServiceLocator;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.service.SerialisationSupport;\r
+\r
+/**\r
+ * @author Tuukka Lehtonen\r
+ */\r
+public class NamedResource {\r
+\r
+    private final String resource;\r
+    private final String name;\r
+    private final String uri;\r
+\r
+    public static NamedResource of(ReadGraph graph, Resource resource) throws DatabaseException {\r
+        return of(graph, resource, NameLabelUtil.modalName(graph, resource));\r
+    }\r
+\r
+    public static NamedResource of(ReadGraph graph, Resource resource, String name) throws DatabaseException {\r
+        return of(graph, resource, name, graph.getPossibleURI(resource));\r
+    }\r
+\r
+    public static NamedResource of(ServiceLocator locator, Resource resource, String name, String uri) throws DatabaseException {\r
+        SerialisationSupport ss = locator.getService(SerialisationSupport.class);\r
+        return new NamedResource("" + ss.getRandomAccessId(resource), name, uri);\r
+    }\r
+\r
+    public NamedResource(String resource, String name) {\r
+        this(resource, name, null);\r
+    }\r
+\r
+    public NamedResource(String resource, String name, String uri) {\r
+        this.resource = resource;\r
+        this.name = name;\r
+        this.uri = uri;\r
+    }\r
+\r
+    public String getResource() {\r
+        return resource;\r
+    }\r
+\r
+    public String getName() {\r
+        return name;\r
+    }\r
+\r
+    public String getUri() {\r
+        return uri;\r
+    }\r
+\r
+}\r