]> 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 19e83d30b571a7dfd9cf197090b1fecbe72939ea..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
@@ -140,6 +144,9 @@ importJava "org.simantics.db.ReadGraph" where
     isInheritedFrom :: Resource -> Resource -> <ReadGraph> Boolean
     
     getRootLibrary :: () -> <ReadGraph> Resource
+    
+    @JavaName getPredicates
+    predicatesOf :: Resource -> <ReadGraph> [Resource]
 
 importJava "org.simantics.db.layer0.util.ExtendedUris" where
     "Converts an absolute URI to a resource"
@@ -164,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
@@ -183,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
@@ -265,6 +276,9 @@ importJava "org.simantics.db.common.utils.ListUtils" where
     
     @JavaName create
     createList :: [Resource] -> <WriteGraph> Resource
+
+    @JavaName create
+    createListWithType :: Resource -> [Resource] -> <WriteGraph> Resource
     
     @javaName insertBack
     insertBack :: Resource -> [Resource] -> <WriteGraph> ()
@@ -343,13 +357,15 @@ importJava "org.simantics.db.layer0.util.Layer0Utils" where
     listOntologies :: () -> <ReadGraph> [Resource]
     emptyTrashBin :: () -> <Proc> ()
     purgeDatabase :: () -> <Proc> ()
-    prettyPrintResource :: Resource -> <ReadGraph> String
+    prettyPrintResource :: Resource -> Boolean -> <ReadGraph> String
 
     @private
     @JavaName copyTo
     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
@@ -422,6 +438,10 @@ currentModel = match activeModel (currentProject ()) with
     Just model -> model
     Nothing -> fail "No active model."
 
+"Gives the current active model if it exists or Nothing otherwise."
+possibleCurrentModel :: <ReadGraph> Maybe Resource
+possibleCurrentModel = activeModel (currentProject ())
+    
 startUndoPoint :: String -> <WriteGraph> ()
 startUndoPoint string = do
     markUndoPoint ()
@@ -474,4 +494,4 @@ possibleChildWithPath parent path =
               Just c -> possibleChild c name
               Nothing -> Nothing 
           ) 
-          (Just parent) path
+          (Just parent) path
\ No newline at end of file