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