Artefact:Template/org/ooem/templates/wiml-1.0-ooem-multipart-1.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]

<XOOMCode type="org/oogenerator/Template/2.0">

G-2.0-java_jpp-1.0 -*- coding: utf-8; -*- ▼… import org.oomodels.wiml.*; ▼… ⊏ signature(String wiml_code) ⊐… « WIMLClass wc; try { wc = WIMLClass.parseWIML(wiml_code); object = wc;

 boolean has_associations = false;
 ∀(‖"Ⓟ/Attributes"){
   if (‖"Ⓟ/Association"!=null) { has_associations = true; }
 }/∀

»… « if (has_associations) { »… MIME-Version: 1.0 Content-type: multipart/mixed; boundary="mimeboundery"

--mimeboundery Content-type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=◂‖"Ⓟ/Name"▸.model

« } »… <Class>

 ⋮⊏ ➜ this.Imports(object) ⊐…
 <Name>◂‖"Ⓟ/Name"▸</Name>
 ⋮«∀(‖"Ⓟ/ModelTemplateArguments"){»…
 <TemplateArgument Name="◂‖"Ⓟ/Name"▸" GenericLevel="MODEL_TEMPLATE"/>
 ⋮«}/∀»…
 ⋮«∀(‖"Ⓟ/CodeGeneratorTemplateArguments"){»…
 <TemplateArgument Name="◂‖"Ⓟ/Name"▸" GenericLevel="CODE_GENERATOR_TEMPLATE"/>
 ⋮«}/∀»…
 ⋮«∀(‖"Ⓟ/ImplementationLanguageTemplateArguments"){»…
 <TemplateArgument Name="◂‖"Ⓟ/Name"▸" GenericLevel="IMPLEMENTATION_LANGUAGE_TEMPLATE"/>
 ⋮«}/∀»…
 ⋮«∀(‖"Ⓟ/Bases"){»…
 <Base Name="◂‖"Ⓟ/Name"▸"/>
 ⋮«}/∀»…
 ⋮«¬∅(‖"Ⓟ/Stereotypes"){»…
 <Stereotype>«∀(⊙){»◂⊙▸«}/∀»</Stereotype>
 ⋮«}/¬∅»…
 ⋮«∀(‖"Ⓟ/Attributes"){if(‖"Ⓟ/Association" == null){»…
 <Attribute Name="◂‖"Ⓟ/Name"▸" Type="◂((String)(‖"Ⓟ/Type")).replace("/",".")▸"«¬∅(‖"Ⓟ/Stereotypes"){» Stereotype="«∀(⊙){»◂⊙▸«}/∀»"«}/¬∅»…
   ⋮«¬∅(‖"Ⓟ/Extensions"){»…
     ⋮>
     ⋮⊏ ➜ this.Extensions(object) ⊐…
 </Attribute>
   ⋮«}∨{»…
     ⋮/>
   ⋮«}/¬∅»…
 ⋮«}}/∀»…
 ⋮«∀(‖"Ⓟ/Operations"){»…
 <Operation Name="◂‖"Ⓟ/Name"▸" ReturnType="◂‖"Ⓟ/ReturnType"▸"«¬∅(‖"Ⓟ/Stereotypes"){» Stereotype="«∀(⊙){»◂⊙▸«}/∀»"«}/¬∅»…
   ⋮«¬∅(‖"Ⓟ/Extensions"){»…
     ⋮>
     ⋮⊏ ➜ this.Extensions(object) ⊐…
 </Attribute>
   ⋮«}∨{»…
     ⋮/>
   ⋮«}/¬∅»…
 ⋮«}/∀»…
 ⋮«¬∅(‖"Ⓟ/Extensions"){»…
   ⋮⊏ ➜ this.Extensions(object) ⊐…
 ⋮«}/¬∅»…

</Class> « if (has_associations) { »… --mimeboundery Content-type: text/plain; charset=utf-8 Content-Disposition: attachment; filename=◂‖"Ⓟ/Name"▸.model

⋮«∀(‖"Ⓟ/Attributes"){if(‖"Ⓟ/Association" != null){»… <Association>

 ⋮⊏ ➜ this.Imports(object) ⊐…
 ⋮«¬∅(‖"Ⓟ/Stereotypes"){»…
 <Stereotype>«∀(⊙){»◂⊙▸«}/∀»</Stereotype>
 ⋮«}/¬∅»…
 <Ends>
   <End>
     <Type>◂‖[wc]"Ⓟ/Name"▸</Type>
     <Multiplicity>1</Multiplicity>
     <IsNavigable>false</IsNavigable>
     ⋮⊏ ➜ this.Extensions(object) ⊐…
   </End>
   <End>
     <Role>◂‖"Ⓟ/Name"▸</Role>
     <Type>◂((String)(‖"Ⓟ/Type")).replace("/",".")▸</Type>
     <Multiplicity>◂‖"Ⓟ/Association"▸</Multiplicity>
     <IsNavigable>true</IsNavigable>
     ⋮⊏ ➜ this.Extensions(object) ⊐…
   </End>
 </Ends>
 ⋮⊏ ➜ this.Extensions(object) ⊐…

</Association> ⋮«}}/∀»… « } »… « } catch (Throwable t) { »… ERROR: ◂t▸ « } »… ⊏ Ⓣ Extensions(Object object) ⊐…

   <Extensions>
   ⋮«∀(⊙){»…
     <◂‖"Ⓟ/Name"▸>
       ⋮«∀(‖"Ⓟ/Properties"){»…
       <◂‖"Ⓟ/Name"▸>◂‖"Ⓟ/Value"▸</◂‖"Ⓟ/Name"▸>
       ⋮«}/∀»…
     </◂‖"Ⓟ/Name"▸>
   ⋮«}/∀»…
   </Extensions>

⊏ /Ⓣ ⊐… ⊏ Ⓣ Imports(Object object) ⊐…

 <InternalModelImport>org.uml.stereotypes.*</InternalModelImport>
 <ExternalImport>java.lang.String</ExternalImport>
 <ExternalImport>java.lang.Integer</ExternalImport>
 <ExternalImport>java.lang.Object</ExternalImport>
 <ExternalImport>java.lang.Boolean</ExternalImport>
 <PrimitiveImport>int</PrimitiveImport>

⊏ /Ⓣ ⊐… </dib> </XOOMCode>