]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.db/scl/Simantics/DB.scl
Added addFirst/After/Before + remove SCL functions for Ordered Sets
[simantics/platform.git] / bundles / org.simantics.scl.db / scl / Simantics / DB.scl
index a097dc8ae64320f27fd169cf32e2c9b557610a74..adc72bb943e1cd0a788eaa4369be8deb10b36861 100644 (file)
@@ -108,6 +108,9 @@ importJava "org.simantics.db.ReadGraph" where
     @JavaName getRelatedValue2
     relatedValue2 :: Resource -> Resource -> <ReadGraph> a
 
+    @JavaName getPossibleRelatedValue2
+    possibleRelatedValue2 :: Resource -> Resource -> <ReadGraph> Maybe a
+
     @JavaName getRelatedVariantValue2
     relatedVariantValue2 :: Resource -> Resource -> <ReadGraph> Variant
     
@@ -151,6 +154,8 @@ importJava "org.simantics.db.ReadGraph" where
     
     @JavaName getPredicates
     predicatesOf :: Resource -> <ReadGraph> [Resource]
+    
+    isImmutable :: Resource -> <ReadGraph> Boolean
 
 importJava "org.simantics.db.layer0.util.ExtendedUris" where
     "Converts an absolute URI to a resource"
@@ -185,6 +190,9 @@ class Browsable a where
     
     valueOf :: Serializable v => a -> <ReadGraph> v
     
+    genericRelatedValue :: a -> Resource -> <ReadGraph> t
+    genericPossibleRelatedValue :: a -> Resource -> <ReadGraph> Maybe t
+    
     variantValueOf :: a -> <ReadGraph> Variant 
     
     children :: a -> <ReadGraph> [a]
@@ -204,6 +212,9 @@ instance Browsable Resource where
     valueOf r = valueOf_ r binding
     variantValueOf = variantValueOf_
     
+    genericRelatedValue = relatedValue2
+    genericPossibleRelatedValue = possibleRelatedValue2
+    
     children r = r # L0.ConsistsOf
     parent r = singleObject r L0.PartOf
     possibleParent r = possibleObject r L0.PartOf
@@ -264,9 +275,26 @@ resourceChildrenOf :: Resource -> <ReadGraph> [Resource]
 resourceChildrenOf r = r # L0.ConsistsOf
 
 importJava "org.simantics.db.common.utils.OrderedSetUtils" where
+    "`addToOrderedSet s e` adds element `e` to ordered set `s`"
     @JavaName add
     addToOrderedSet :: Resource -> Resource -> <WriteGraph> Boolean
     
+    "`addFirstToOrderedSet s e` adds element `e` to ordered set `s` as the first element"
+    @JavaName addFirst
+    addFirstToOrderedSet :: Resource -> Resource -> <WriteGraph> Boolean
+    
+    "`addAfterToOrderedSet s p e` adds element `e` to ordered set `s` after element `p`"
+    @JavaName addAfter
+    addAfterToOrderedSet :: Resource -> Resource -> Resource -> <WriteGraph> Boolean
+    
+    "`addBeforeToOrderedSet s p e` adds element `e` to ordered set `s` before element `p`"
+    @JavaName addBefore
+    addBeforeToOrderedSet :: Resource -> Resource -> Resource -> <WriteGraph> Boolean
+    
+    "`removeFromOrderedSet s e` removes element `e` from ordered set `s`"
+    @JavaName remove
+    removeFromOrderedSet :: Resource -> Resource -> <WriteGraph> Boolean
+    
     @JavaName set
     setOrderedSet :: Resource -> [Resource] -> <WriteGraph> Boolean