]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.db/scl/Simantics/DB.scl
Introduced possibleUriOf for Browsable class in Simantics/DB
[simantics/platform.git] / bundles / org.simantics.scl.db / scl / Simantics / DB.scl
index b24df17f8639c40cb2a020f130a911e8bf547912..a35092bd9612651f16af7502df165a34a79e6e7b 100644 (file)
@@ -58,6 +58,10 @@ importJava "org.simantics.db.ReadGraph" where
     @private
     @JavaName getURI
     uriOfResource :: Resource -> <ReadGraph> String
+
+    @private
+    @JavaName getPossibleURI
+    possibleUriOfResource :: Resource -> <ReadGraph> Maybe String
     
     @JavaName getObjects
     objects_ :: Resource -> Resource -> <ReadGraph> Collection Resource
@@ -167,7 +171,10 @@ class Browsable a where
 
     "Returns the URI of the given value."
     uriOf :: a -> <ReadGraph> String
-  
+    
+    "Returns the URI of the given value if it exists or Nothing."
+    possibleUriOf :: a -> <ReadGraph> Maybe String
+    
     "Reads the name of the value."
     nameOf :: a -> <ReadGraph> String
     possibleNameOf :: a -> <ReadGraph> Maybe String
@@ -186,6 +193,7 @@ class Browsable a where
 instance Browsable Resource where
     fromUri = resource
     uriOf = uriOfResource
+    possibleUriOf = possibleUriOfResource
     nameOf r = relatedValue r L0.HasName
     possibleNameOf r = possibleRelatedValue r L0.HasName
     @inline
@@ -356,6 +364,8 @@ importJava "org.simantics.db.layer0.util.Layer0Utils" where
     copyTo_ :: Resource -> Resource -> <WriteGraph> Collection Resource
     @JavaName getPossiblePredicateByName
     possiblePredicateByName :: Resource -> String -> <ReadGraph> Maybe Resource
+    @JavaName getPossiblePredicateByNameFromType
+    possiblePredicateByNameFromType :: Resource -> String -> <ReadGraph> Maybe Resource
 
 copyTo :: Resource -> Resource -> <WriteGraph> Resource
 copyTo targetContainer source = do