--- /dev/null
+import "Simantics/All"
+import "JavaBuiltin"
+
+
+importJava "org.simantics.interop.update.model.ModelUpdate" where
+ data ModelUpdate
+
+ @JavaName getUpdateTree
+ getUpdateTree :: ModelUpdate -> <Proc> UpdateTree
+
+ @JavaName getUpdateList
+ getUpdateList :: ModelUpdate -> <Proc> UpdateList
+
+ @JavaName getChanges
+ getGraphChanges :: ModelUpdate -> <Proc> GraphChanges
+
+ @JavaName applyAll
+ applyAllUpdates :: ModelUpdate -> <WriteGraph> ()
+
+ @JavaName applySelected
+ applySelectedUpdates :: ModelUpdate -> <WriteGraph> ()
+
+importJava "org.simantics.interop.update.model.UpdateTree" where
+ data UpdateTree
+
+ @JavaName getRootNode
+ getRootNode :: UpdateTree -> <Proc> UpdateNode
+
+importJava "org.simantics.interop.update.model.UpdateList" where
+ data UpdateList
+
+ @JavaName getChanges
+ getListChanges :: UpdateList -> <Proc> [Pair]
+
+ @JavaName getSelected
+ getListSelected :: UpdateList -> <Proc> MSet.T Pair
+
+ @JavaName addSelected
+ addListSelected :: UpdateList -> Pair -> <Proc>()
+
+ @JavaName removeSelected
+ removeListSelected :: UpdateList -> Pair -> <Proc>()
+
+ @JavaName isSelected
+ isListSelected :: UpdateList -> Pair -> <Proc> Boolean
+
+importJava "org.simantics.interop.test.GraphChanges" where
+ data GraphChanges
+
+ @JavaName getComparable
+ getComparable :: GraphChanges -> <Proc> BijectionMap
+
+ @JavaName getAdditions
+ getAdditions :: GraphChanges -> <Proc> [Statement]
+
+ @JavaName getDeletions
+ getDeletions :: GraphChanges -> <Proc> [Statement]
+
+ @JavaName getModifications
+ getModifications :: GraphChanges -> <Proc> [Pair]
+
+importJava "org.simantics.interop.update.model.UpdateNode" where
+ data UpdateNode
+
+ @JavaName getResource
+ getNodeResource :: UpdateNode -> <Proc> Resource
+
+ @JavaName getStatus
+ getNodeStatus :: UpdateNode -> <Proc> UpdateStatus
+
+ @JavaName getLabel
+ getNodeLabel :: UpdateNode -> <Proc> String
+
+ @JavaName getOp
+ getNodeOp :: UpdateNode -> <Proc> Maybe UpdateOp
+
+ @JavaName getChildren
+ getNodeChildren :: UpdateNode -> <Proc> [UpdateNode]
+
+
+
+importJava "org.simantics.interop.update.model.UpdateStatus" where
+ data UpdateStatus
+ @JavaName EXIST
+ S_EXIST::UpdateStatus
+ @JavaName DELETED
+ S_DELETED::UpdateStatus
+ @JavaName NEW
+ S_NEW::UpdateStatus
+ @JavaName CONTAINS
+ S_CONTAINS::UpdateStatus
+
+importJava "org.simantics.interop.update.model.UpdateOp" where
+ data UpdateOp
+
+ @JavaName applied
+ opApplied :: UpdateOp -> <Proc> Boolean
+
+ @JavaName selected
+ opSelected :: UpdateOp -> <Proc> Boolean
+
+ @JavaName "select"
+ opSelect :: UpdateOp -> Boolean -> <Proc> Boolean
+
+ @JavaName isAdd
+ opIsAdd :: UpdateOp -> <Proc> Boolean
+
+ @JavaName isDelete
+ opIsDelete :: UpdateOp -> <Proc> Boolean
+
+ @JavaName isChange
+ opIsChange :: UpdateOp -> <Proc> Boolean
+
+importJava "org.simantics.utils.datastructures.Pair" where
+ data Pair
+
+ @JavaName first
+ getFirst :: Pair -> <Proc> Maybe a
+
+ @JavaName second
+ getSecond :: Pair -> <Proc> Maybe b
+
+importJava "org.simantics.utils.datastructures.BijectionMap" where
+ data BijectionMap
+
+ @JavaName containsLeft
+ containsLeft :: BijectionMap -> l -> <Proc> Boolean
+
+ @JavaName containsRight
+ containsRight :: BijectionMap -> r -> <Proc> Boolean
+
+ @JavaName contains
+ contains :: BijectionMap -> l -> r -> <Proc> Boolean
+
+ @JavaName getLeft
+ getLeft :: BijectionMap -> r -> <Proc> Maybe l
+
+ @JavaName getRight
+ getRight :: BijectionMap -> l -> <Proc> Maybe r
+
+importJava "java.lang.Object" where
+ data Object
+
+ @JavaName getClass
+ getClass :: Object -> <Proc> Class
+
+importJava "java.lang.Class" where
+ data Class
+
+ @JavaName getName
+ getClassName :: Class -> <Proc> String
+
+ @JavaName getSimpleName
+ getSimpleClassName :: Class -> <Proc> String
\ No newline at end of file