import "Simantics/DB" import "Simantics/Ontologies" importJava "org.simantics.datatypes.literal.GUID" where data GUID instance Show GUID where show guid = guidIndexString guid importJava "org.simantics.datatypes.literal.GUID" where @JavaName "BINDING" guidBinding :: Binding a @JavaName random randomGUID :: GUID @JavaName indexString guidIndexString :: GUID -> String guidOf :: Resource -> GUID guidOf res = relatedValue_ res L0.identifier guidBinding possibleGUIDOf :: Resource -> Maybe GUID possibleGUIDOf res = possibleRelatedValue_ res L0.identifier guidBinding claimGUID :: Resource -> () claimGUID res = do match possibleGUIDOf res with Nothing -> claimRelatedValueWithType_ res L0.identifier L0.GUID randomGUID guidBinding _ -> ()