include "Simantics/DB" @JavaType "org.simantics.structural2.procedural.Property" data Property = @FieldNames [relation, value] Property Resource a instance Show Property where sb <+ Property relation value = sb << "(Property " <+ relation << ")" @JavaType "org.simantics.structural2.procedural.ConnectionPoint" data ConnectionPoint = @JavaType "org.simantics.structural2.procedural.Terminal" @FieldNames [component, relation] Terminal String Resource | @JavaType "org.simantics.structural2.procedural.Interface" @FieldNames [relation] Interface Resource deriving instance Show ConnectionPoint @JavaType "org.simantics.structural2.procedural.SubstructureElement" data SubstructureElement = @JavaType "org.simantics.structural2.procedural.Component" @FieldNames [name, "type", properties] Component String Resource [Property] | @JavaType "org.simantics.structural2.procedural.Connection" @FieldNames [connectionPoints] Connection [ConnectionPoint] deriving instance Show SubstructureElement