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

From OOModels
Jump to navigationJump to search
Classification
Type Type:org/oogenerator/Template/2.0
Domain Domain:it/development/formatting
Category Type:org/oomodels/wiki/Template
Maturity final
More
Download Code
Namespace (more)

OOEM main package

create new pages

Code[edit]


G-2.0-java_jpp-1.0 -*- coding: utf-8; -*-

import org.oomodels.wiml.*;
▼
⊏ signature(String wiml_code, Map<String,String> predefined_arguments, Map<String,String> conversion_arguments, Map<String,String> 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 {
»
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- ◂predefined_arguments.get("CompleteXMLDocument")▸ -->
« ⇾(⊙,WIMLStateMachine) {»<OOEMStateMachine>«}∨{»<COOEMlass>« }/⇾ »
  <Name>‖"Ⓟ/Name"</Name>
  ⋮«∀(‖"Ⓟ/ModelTemplateArguments"){»
  <TemplateParameter Name="‖"Ⓟ/Name"" «∃(‖"Ⓟ/DefaultValue"){»DefaultValue="◂((String)(⊙)).replace("/",".")▸" «}/∃»GenericLevel="MODEL_TEMPLATE"/>
  ⋮«}/∀»«∀(‖"Ⓟ/CodeGeneratorTemplateArguments"){»
  <TemplateParameter Name="‖"Ⓟ/Name"" «∃(‖"Ⓟ/DefaultValue"){»DefaultValue="◂((String)(⊙)).replace("/",".")▸" «}/∃»GenericLevel="CODE_GENERATOR_TEMPLATE"/>
  ⋮«}/∀»«∀(‖"Ⓟ/ImplementationLanguageTemplateArguments"){»
  <TemplateParameter Name="‖"Ⓟ/Name"" «∃(‖"Ⓟ/DefaultValue"){»DefaultValue="◂((String)(⊙)).replace("/",".")▸" «}/∃»GenericLevel="IMPLEMENTATION_LANGUAGE_TEMPLATE"/>
  ⋮«}/∀»«∀(‖"Ⓟ/Bases"){»
  <Base Parent="◂((String)(⊙)).replace("/",".")▸"/>
  ⋮«}/∀»«¬∅(‖"Ⓟ/Stereotypes"){»«∀(⊙){»
  <Stereotype>◂⊙▸</Stereotype>
  ⋮«}/∀»«}/¬∅»« ⇾(⊙,WIMLStateMachine) {»«¬∅(‖"Ⓟ/States"){»«∀(⊙){»
  <State Name="‖"Ⓟ/0"" Variable="‖"Ⓟ/1""«∃(‖"Ⓟ/2"){» StateType="◂⊙▸"«}/∃»/>
  ⋮«}/∀»«}/¬∅»« }/⇾ »«∀(‖"Ⓟ/Attributes"){if(‖"Ⓟ/Association" == null){»
  <Attribute Name="‖"Ⓟ/Name"" Type="◂((String)(‖"Ⓟ/Type")).replace("/",".")▸"«∀(‖"Ⓟ/Stereotypes"){» Stereotype-◂Ⓘ▸="◂⊙▸"«}/∀»⊏ ➜ this.Extensions(object, "Attribute") ⊐«}else{»
  <AssociationEnd>
    ⋮«¬∅(‖"Ⓟ/Stereotypes"){»«∀(⊙){»
    <Stereotype>◂⊙▸</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) {»</OOEMStateMachine>«}∨{»</OOEMClass>« }/⇾ »
« } »
« } 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){»
    <Extensions>
        ⋮«}/➀»«if(((String)(‖"Ⓟ/Name")).matches("^org/xmodel/[^/]*")){»
      <◂((String)(‖"Ⓟ/Name")).replaceFirst("org/xmodel/","")▸>
        ⋮«}else{»
      <Extension CLASS="‖"Ⓟ/Name"">
        ⋮«}»«∀(‖"Ⓟ/Properties"){»
◂((WIMLProperty)(⊙)).dumpToXML("        ",null).toString()▸«}/∀»«if(((String)(‖"Ⓟ/Name")).matches("^org/xmodel/[^/]*")){»
      </◂((String)(‖"Ⓟ/Name")).replaceFirst("org/xmodel/","")▸>
        ⋮«}else{»
      </Extension>
        ⋮«}»«}»«}/∀»«}/¬∅»«¬➀(x){»
    </Extensions>
  ⋮«}/¬➀»«if(element!=null){»«¬➀(e){»
  </◂element▸>
    ⋮«}∨{»/>
    ⋮«}/¬➀»«}»
⊏ /Ⓣ ⊐