import "JavaBuiltin" as Java
include "http://www.simantics.org/Layer0-1.1" as L0
+import "Map" as Map
infixl 5 (#)
@JavaName getResourceId
resourceId :: Resource -> Long
+ isPersistent :: Resource -> Boolean
+
importJava "org.simantics.db.ReadGraph" where
data ReadGraphX
@JavaName getObject
objectOf :: Statement -> Resource
+ isAsserted :: Statement -> Resource -> <ReadGraph> Boolean
+
importJava "org.simantics.db.ReadGraph" where
"Converts an absolute URI to a resource or returns `Nothing` if there is no such resource."
@JavaName getPossibleResource
@private
@JavaName getURI
uriOfResource :: Resource -> <ReadGraph> String
+
+ @private
+ @JavaName getPossibleURI
+ possibleUriOfResource :: Resource -> <ReadGraph> Maybe String
@JavaName getObjects
objects_ :: Resource -> Resource -> <ReadGraph> Collection Resource
@JavaName getSingleStatement
singleStatement :: Resource -> Resource -> <ReadGraph> Statement
+ @JavaName getPossibleStatement
+ possibleStatement :: Resource -> Resource -> <ReadGraph> Maybe Statement
+
@JavaName getRelatedVariantValue
relatedVariantValue :: Resource -> Resource -> <ReadGraph> Variant
@JavaName getRelatedValue2
relatedValue2 :: Resource -> Resource -> <ReadGraph> a
+ @JavaName getPossibleRelatedValue2
+ possibleRelatedValue2 :: Resource -> Resource -> <ReadGraph> Maybe a
+
@JavaName getRelatedVariantValue2
relatedVariantValue2 :: Resource -> Resource -> <ReadGraph> Variant
@JavaName getInverse
inverseOf :: Resource -> <ReadGraph> Resource
+ @JavaName getPossibleInverse
+ possibleInverseOf :: Resource -> <ReadGraph> Maybe Resource
@JavaName getSingleType
singleTypeOf :: Resource -> Resource -> <ReadGraph> Resource
isInheritedFrom :: Resource -> Resource -> <ReadGraph> Boolean
getRootLibrary :: () -> <ReadGraph> Resource
+
+ @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"
"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
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]
instance Browsable Resource where
fromUri = resource
uriOf = uriOfResource
+ possibleUriOf = possibleUriOfResource
nameOf r = relatedValue r L0.HasName
possibleNameOf r = possibleRelatedValue r L0.HasName
@inline
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
newResource :: () -> <WriteGraph> Resource
"Adds a statement to the semantic graph."
claim :: Resource -> Resource -> Resource -> <WriteGraph> ()
+ @JavaName claim
+ claimWithInverse :: Resource -> Resource -> Maybe Resource -> Resource -> <WriteGraph> ()
@JavaName claimLiteral
claimRelatedValue_ :: Resource -> Resource -> a -> Binding a -> <WriteGraph> ()
@JavaName claimLiteral
@JavaName denyValue
denyValue :: Resource -> <WriteGraph> ()
-claimAssertion :: Resource -> Resource -> Resource -> <WriteGraph> ()
-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 -> <WriteGraph> ()
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
elementsOfOrderedSet :: Resource -> <ReadGraph> [Resource]
importJava "org.simantics.db.common.utils.ListUtils" where
+ "`elementsOfList l` returns elements of list `l`"
@JavaName toList
elementsOfList :: Resource -> <ReadGraph> [Resource]
+
+ "`createList [e]` creates a new list containing elements `[e]`"
+ @JavaName create
+ createList :: [Resource] -> <WriteGraph> Resource
+
+ "`createListWithType t [e]` creates a new list with type `t` containing elements `[e]`"
+ @JavaName create
+ createListWithType :: Resource -> [Resource] -> <WriteGraph> Resource
+
+ "`insertListBack l [e]` inserts elements `[e]` back to the list `l`"
+ @JavaName insertBack
+ insertListBack :: Resource -> [Resource] -> <WriteGraph> ()
+
+ "`insertListFront l [e]` inserts elements `[e]` front of the list `l`"
+ @JavaName insertFront
+ insertListFront :: Resource -> [Resource] -> <WriteGraph> ()
+
+ "`removeListElement l e` removes a element `e` from the list `l`"
+ @JavaName removeElement
+ removeListElement :: Resource -> Resource -> <WriteGraph> Boolean
+
+ @JavaName swapWithPrevious
+ swapListElementWithPrevious :: Resource -> Resource -> <WriteGraph> Boolean
+
+ @JavaName swapWithNext
+ swapListElementWithNext :: Resource -> Resource -> <WriteGraph> Boolean
+
importJava "org.simantics.db.common.utils.CommonDBUtils" where
isParent :: Resource -> Resource -> <ReadGraph> Boolean
"Begins a write transaction and immediately returns."
asyncWrite :: (() -> <Proc,ReadGraph,WriteGraph> a) -> <Proc> ()
- virtualSyncWriteMem :: String -> (() -> <ReadGraph,WriteGraph> a) -> <WriteGraph> a
- virtualSyncWriteWS :: String -> (() -> <ReadGraph,WriteGraph> a) -> <WriteGraph> a
+ virtualSyncWriteMem :: String -> (() -> <e,WriteGraph> a) -> <e,WriteGraph> a
+ virtualSyncWriteWS :: String -> (() -> <e,WriteGraph> a) -> <e,WriteGraph> a
safeExec :: (() -> <Proc> a) -> <Proc> a
activateOnce :: Resource -> <Proc> ()
subquery :: (<ReadGraph,Proc> a) -> <ReadGraph,Proc> a
"Makes a new read request with given procedure for calculating the result. The request is always cached."
subqueryC :: (<ReadGraph,Proc> a) -> <ReadGraph,Proc> a
+ "Makes a new read asynchronous request with function to handle the request result. The last `isDisposed` function parameter is used to determine if the listener is still alive or not."
+ subqueryL :: (<ReadGraph,Proc> a) -> (a -> <ReadGraph, e> ()) -> (Throwable -> <ReadGraph, e> ()) -> (<e> Boolean) -> <ReadGraph, Proc, e> ()
+ "Tries to convert the given Dynamic value to a value with the inferred type"
+ possibleFromDynamic :: Typeable a => String -> Dynamic -> Maybe a
importJava "org.simantics.db.layer0.util.Layer0Utils" where
undo :: () -> <Proc> String
listOntologies :: () -> <ReadGraph> [Resource]
emptyTrashBin :: () -> <Proc> ()
purgeDatabase :: () -> <Proc> ()
+ 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
+
+ addMetadataListener :: ChangeListener -> <Proc> ()
+ removeMetadataListener :: ChangeListener -> <Proc> ()
+
+ @JavaName assert_
+ claimAssertion :: Resource -> Resource -> Resource -> <WriteGraph> ()
copyTo :: Resource -> Resource -> <WriteGraph> Resource
copyTo targetContainer source = do
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 ()
Nothing -> Nothing
)
(Just parent) path
+
+importJava "org.simantics.db.MetadataI" where
+ data MetadataI
+
+importJava "org.simantics.db.event.ChangeListener" where
+ data ChangeListener
+
+importJava "org.simantics.db.layer0.genericrelation.DependencyChanges" where
+ data DependencyChanges