X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.scl.db%2Fscl%2FSimantics%2FDB.scl;h=b69119eae0e345b65f153961cb289f85c752d63a;hb=03af11f722634e02f8741d14771833fc51de95f9;hp=ec9cc2671e3294f5f5335bf1c252f6653d0ffebc;hpb=b499fdaf906ac65f88496a4e5a28a92df4a6eb6d;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.db/scl/Simantics/DB.scl b/bundles/org.simantics.scl.db/scl/Simantics/DB.scl index ec9cc2671..b69119eae 100644 --- a/bundles/org.simantics.scl.db/scl/Simantics/DB.scl +++ b/bundles/org.simantics.scl.db/scl/Simantics/DB.scl @@ -108,6 +108,9 @@ importJava "org.simantics.db.ReadGraph" where @JavaName getRelatedValue2 relatedValue2 :: Resource -> Resource -> a + @JavaName getPossibleRelatedValue2 + possibleRelatedValue2 :: Resource -> Resource -> Maybe a + @JavaName getRelatedVariantValue2 relatedVariantValue2 :: Resource -> Resource -> Variant @@ -133,6 +136,8 @@ importJava "org.simantics.db.ReadGraph" where @JavaName getInverse inverseOf :: Resource -> Resource + @JavaName getPossibleInverse + possibleInverseOf :: Resource -> Maybe Resource @JavaName getSingleType singleTypeOf :: Resource -> Resource -> Resource @@ -149,6 +154,8 @@ importJava "org.simantics.db.ReadGraph" where @JavaName getPredicates predicatesOf :: Resource -> [Resource] + + isImmutable :: Resource -> Boolean importJava "org.simantics.db.layer0.util.ExtendedUris" where "Converts an absolute URI to a resource" @@ -183,6 +190,9 @@ class Browsable a where valueOf :: Serializable v => a -> v + genericRelatedValue :: a -> Resource -> t + genericPossibleRelatedValue :: a -> Resource -> Maybe t + variantValueOf :: a -> Variant children :: a -> [a] @@ -202,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 @@ -217,6 +230,8 @@ importJava "org.simantics.db.WriteGraph" where newResource :: () -> Resource "Adds a statement to the semantic graph." claim :: Resource -> Resource -> Resource -> () + @JavaName claim + claimWithInverse :: Resource -> Resource -> Maybe Resource -> Resource -> () @JavaName claimLiteral claimRelatedValue_ :: Resource -> Resource -> a -> Binding a -> () @JavaName claimLiteral @@ -235,13 +250,6 @@ importJava "org.simantics.db.WriteGraph" where @JavaName denyValue denyValue :: Resource -> () -claimAssertion :: Resource -> Resource -> Resource -> () -claimAssertion type_ predicate object = do - ass = newResource () - claim ass L0.HasPredicate predicate - claim ass L0.HasObject object - claim type_ L0.Asserts ass - "Sets the value of the literal that is an object with the given subject and predicate." @inline claimRelatedValue :: Serializable a => Resource -> Resource -> a -> () @@ -260,9 +268,26 @@ resourceChildrenOf :: Resource -> [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 -> Boolean + "`addFirstToOrderedSet s e` adds element `e` to ordered set `s` as the first element" + @JavaName addFirst + addFirstToOrderedSet :: Resource -> Resource -> Boolean + + "`addAfterToOrderedSet s p e` adds element `e` to ordered set `s` after element `p`" + @JavaName addAfter + addAfterToOrderedSet :: Resource -> Resource -> Resource -> Boolean + + "`addBeforeToOrderedSet s p e` adds element `e` to ordered set `s` before element `p`" + @JavaName addBefore + addBeforeToOrderedSet :: Resource -> Resource -> Resource -> Boolean + + "`removeFromOrderedSet s e` removes element `e` from ordered set `s`" + @JavaName remove + removeFromOrderedSet :: Resource -> Resource -> Boolean + @JavaName set setOrderedSet :: Resource -> [Resource] -> Boolean @@ -273,26 +298,35 @@ importJava "org.simantics.db.common.utils.OrderedSetUtils" where elementsOfOrderedSet :: Resource -> [Resource] importJava "org.simantics.db.common.utils.ListUtils" where + "`elementsOfList l` returns elements of list `l`" @JavaName toList elementsOfList :: Resource -> [Resource] + "`createList [e]` creates a new list containing elements `[e]`" @JavaName create createList :: [Resource] -> Resource + "`createListWithType t [e]` creates a new list with type `t` containing elements `[e]`" @JavaName create createListWithType :: Resource -> [Resource] -> Resource - @javaName insertBack - insertBack :: Resource -> [Resource] -> () + "`insertListBack l [e]` inserts elements `[e]` back to the list `l`" + @JavaName insertBack + insertListBack :: Resource -> [Resource] -> () - @javaName removeElement - removeElement :: Resource -> Resource -> Boolean + "`insertListFront l [e]` inserts elements `[e]` front of the list `l`" + @JavaName insertFront + insertListFront :: Resource -> [Resource] -> () - @javaName swapWithPrevious - swapWithPrevious :: Resource -> Resource -> Boolean + "`removeListElement l e` removes a element `e` from the list `l`" + @JavaName removeElement + removeListElement :: Resource -> Resource -> Boolean + + @JavaName swapWithPrevious + swapListElementWithPrevious :: Resource -> Resource -> Boolean - @javaName swapWithNext - swapWithNext :: Resource -> Resource -> Boolean + @JavaName swapWithNext + swapListElementWithNext :: Resource -> Resource -> Boolean importJava "org.simantics.db.common.utils.CommonDBUtils" where @@ -327,8 +361,8 @@ importJava "org.simantics.scl.db.SCLFunctions" where "Begins a write transaction and immediately returns." asyncWrite :: (() -> a) -> () - virtualSyncWriteMem :: String -> (() -> a) -> a - virtualSyncWriteWS :: String -> (() -> a) -> a + virtualSyncWriteMem :: String -> (() -> a) -> a + virtualSyncWriteWS :: String -> (() -> a) -> a safeExec :: (() -> a) -> a activateOnce :: Resource -> () @@ -374,6 +408,9 @@ importJava "org.simantics.db.layer0.util.Layer0Utils" where addMetadataListener :: ChangeListener -> () removeMetadataListener :: ChangeListener -> () + @JavaName assert_ + claimAssertion :: Resource -> Resource -> Resource -> () + copyTo :: Resource -> Resource -> Resource copyTo targetContainer source = do (collectionToList $ copyTo_ targetContainer source)!0