Artefact:Template/org/ooem/templates/wiml-1.0-ooem-class-2.0

Code
 G-2.0-java_jppi-1.0 -*- coding: utf-8; -*- ▼… import org.oomodels.wiml.*; import java.util.Map; ▼… ⊏ signature(String wiml_code, Map predefined_arguments,                             Map conversion_arguments,                              Map request_arguments) ⊐… « WIMLClass wc; try { wc = WIMLClass.parseWIML(wiml_code); object = wc; boolean has_associations = false; if (wc == null) { throw new org.oomodels.OOMStatusCode(204); } else { boolean complete_xml = "true".equals(predefined_arguments.get("CompleteXMLDocument")); String xmlns = complete_xml ? " xmlns=\"http://xmlns.sphenon.com/org/ooem\"" : ""; String indent = complete_xml ? "" : " "; »… «if(complete_xml) {»… ⋮ «}»… «¶(indent)»… « ⇾(⊙,WIMLStateMachine) {»«}∨{»« }/⇾ » ◂‖"Ⓟ/Name"▸ ⋮«∀(‖"Ⓟ/ModelTemplateArguments"){»…  ⋮«}/∀»… ⋮«∀(‖"Ⓟ/CodeGeneratorTemplateArguments"){»…  ⋮«}/∀»… ⋮«∀(‖"Ⓟ/ImplementationLanguageTemplateArguments"){»…  ⋮«}/∀»… ⋮«∀(‖"Ⓟ/Bases"){»…  ⋮«}/∀»… ⋮«¬∅(‖"Ⓟ/Stereotypes"){»«∀(⊙){»… ◂⊙▸ ⋮«}/∀»«}/¬∅»… ⋮« ⇾(⊙,WIMLStateMachine) {»… ⋮«¬∅(‖"Ⓟ/States"){»«∀(⊙){»…  ⋮«}/∀»«}/¬∅»… ⋮« }/⇾ »…  ⋮«∀(‖"Ⓟ/Attributes"){if(‖"Ⓟ/Association" == null){»… <Attribute Name="◂‖"Ⓟ/Name"▸" Type="◂((String)(‖"Ⓟ/Type")).replace("/",".")▸"«∀(‖"Ⓟ/Stereotypes"){» Stereotype-◂Ⓘ▸="◂⊙▸"«}/∀»… ⋮⊏ ➜ this.Extensions(object, "Attribute") ⊐… ⋮«}else{»… <AssociationEnd> ⋮«¬∅(‖"Ⓟ/Stereotypes"){»«∀(⊙){»… ◂⊙▸</Stereotype> ⋮«}/∀»«}/¬∅»…   <Role>◂‖"Ⓟ/Name"▸</Role> <Type>◂((String)(‖"Ⓟ/Type")).replace("/",".")▸</Type> <Multiplicity>◂‖"Ⓟ/Multiplicity"▸</Multiplicity> <IsNavigable>true</IsNavigable> ⋮«●(‖"Ⓟ/Ends/1"){»⊏ ➜ this.Extensions(object, null) ⊐«}/●»… ⋮«∃(‖"Ⓟ/OtherName"){»… <OtherRole>◂⊙▸</OtherRole> ⋮«}/∃»…   <OtherType>◂‖[wc]"Ⓟ/Name"▸</OtherType> ⋮«∃(‖"Ⓟ/OtherMultiplicity"){»… <OtherMultiplicity>◂⊙▸</OtherMultiplicity> <OtherIsNavigable>true</OtherIsNavigable> ⋮«}∨{»…   <OtherMultiplicity>1</OtherMultiplicity> <OtherIsNavigable>false</OtherIsNavigable> ⋮«}/∃»…   ⋮«●(‖"Ⓟ/Ends/0"){»⊏ ➜ this.Extensions(object, null) ⊐«}/●»… ⋮⊏ ➜ this.Extensions(object, null) ⊐… </AssociationEnd> ⋮«}}/∀»… ⋮«∀(‖"Ⓟ/Operations"){»… ⋮« String op_type; ⇾(⊙,WIMLTransition) { op_type = "Transition"; }∨{ op_type = "Operation"; }/⇾ »… <◂op_type▸ Name="◂‖"Ⓟ/Name"▸" ReturnType="◂‖"Ⓟ/ReturnType"▸"«∀(‖"Ⓟ/Stereotypes"){» Stereotype-◂Ⓘ▸="◂⊙▸"«}/∀»… ⋮« ⇾(⊙,WIMLTransition) {»«¬∅(‖"Ⓟ/BeforeStateExpression"){» BeforeStates="◂⊙▸"«}/¬∅»« }/⇾ »… ⋮⊏ ➜ this.Extensions(object, op_type) ⊐… ⋮«}/∀»… ⋮«∀(‖"Ⓟ/Views"){»… <View Name="◂‖"Ⓟ/Name"▸" «¬∅(‖"Ⓟ/Stereotypes"){» Stereotype="«∀(⊙){»◂⊙▸«}/∀»"«}/¬∅» CLASS="UMLView_SlotSpecification"> <ClassOfView>◂‖[wc]"Ⓟ/Name"▸</ClassOfView> ⋮⊏ ➜ this.Extensions(object, null) ⊐… ⋮«∀(‖"Ⓟ/SlotSpecifications"){»… <SlotSpecification Name="◂‖"Ⓟ/Name"▸" Visibility="◂‖"Ⓟ/Visibility"▸" Attributes="◂‖"Ⓟ/Attributes"▸" Associations="◂‖"Ⓟ/Associations"▸" Operations="◂‖"Ⓟ/Operations"▸" Expand="◂‖"Ⓟ/Expand"▸"> <EntryIncludeRegExp>◂‖"Ⓟ/EntryIncludeRegExp"▸</EntryIncludeRegExp> <EntryExcludeRegExp>◂‖"Ⓟ/EntryExcludeRegExp"▸</EntryExcludeRegExp> <FeatureIncludeRegExp>◂‖"Ⓟ/FeatureIncludeRegExp"▸</FeatureIncludeRegExp> <FeatureExcludeRegExp>◂‖"Ⓟ/FeatureExcludeRegExp"▸</FeatureExcludeRegExp> </SlotSpecification> ⋮«}/∀»… </View> ⋮«}/∀»… ⋮⊏ ➜ this.Extensions(object, null) ⊐… « ⇾(⊙,WIMLStateMachine) {»</StateMachine>«}∨{»</Class>« }/⇾ » «/¶»… « } »… « } catch (org.oomodels.OOMStatusCode osc) { throw osc; } catch (Throwable t) { org.oomodels.OOMStatusCode osc = new org.oomodels.OOMStatusCode(204); //osc.setCause(t); throw osc; } »… ⊏ Ⓣ Extensions(Object object, String element) ⊐… ⋮«➀:(e)»… ⋮«➀:(x)»… ⋮«¬∅(‖"Ⓟ/Extensions"){»… ⋮«∀(⊙){»…     ⋮«if(((String)(‖"Ⓟ/Name")).equals("UML")){»… ⋮«➀(e){if(element!=null){»> ⋮«}}/➀»…       ⋮«∀(‖"Ⓟ/Properties"){»… ◂((WIMLProperty)(⊙)).dumpToXML("     ",null).toString▸ ⋮«}/∀»…     ⋮«}»…    ⋮«}/∀»…  ⋮«}/¬∅»…  ⋮«¬∅(‖"Ⓟ/Extensions"){»… ⋮«∀(⊙){»…     ⋮«if(((String)(‖"Ⓟ/Name")).equals("UML") == false){»… ⋮«➀(e){if(element!=null){»> ⋮«}}/➀»…       ⋮«➀(x){» ⋮«}/¬➀»… ⋮«if(element!=null){»… ⋮«¬➀(e){»… </◂element▸> ⋮«}∨{»/>   ⋮«}/¬➀»…  ⋮«}»… ⊏ /Ⓣ ⊐… </OOMCode>