Difference between revisions of "Artefact:Template/org/ooem/templates/wiml-1.0-ooem-multipart-1.0"

From OOModels
Jump to navigationJump to search
 
(27 intermediate revisions by the same user not shown)
Line 6: Line 6:
| Meta_Maturity = final
| Meta_Maturity = final
}}
}}
'''Caution!''' This is a 98% copy of wiml-1.0-ooem-package-1.0 (todo: wiki subtemplates)


==Code==
==Code==
Line 35: Line 37:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
« ⇾(⊙,WIMLStateMachine) {»<StateMachine>«}∨{»<Class>« }/⇾ »
« ⇾(⊙,WIMLStateMachine) {»<StateMachine>«}∨{»<Class>« }/⇾ »
   ⋮⊏ ➜ this.Imports(object) ⊐…
   ⋮⊏ ➜ this.Imports(wc) ⊐…
   <Name>◂‖"Ⓟ/Name"▸</Name>
   <Name>◂‖"Ⓟ/Name"▸</Name>
   ⋮«∀(‖"Ⓟ/ModelTemplateArguments"){»…
   ⋮«∀(‖"Ⓟ/ModelTemplateArguments"){»…
Line 49: Line 51:
   <Base Parent="◂((String)(⊙)).replace("/",".")▸"/>
   <Base Parent="◂((String)(⊙)).replace("/",".")▸"/>
   ⋮«}/∀»…
   ⋮«}/∀»…
   ⋮«¬∅(‖"Ⓟ/Stereotypes"){»…
   ⋮«¬∅(‖"Ⓟ/Stereotypes"){»«∀(⊙){»…
   <Stereotype>«∀(⊙){»◂⊙▸«}/∀»</Stereotype>
   <Stereotype>◂((String)⊙).replaceFirst("org/ooem/stereotypes/.*/","")▸</Stereotype>
   ⋮«}/¬∅»…
   ⋮«}/∀»«}/¬∅»…
   ⋮« ⇾(⊙,WIMLStateMachine) {»…
   ⋮« ⇾(⊙,WIMLStateMachine) {»…
   ⋮«¬∅(‖"Ⓟ/States"){»«∀(⊙){»…
   ⋮«¬∅(‖"Ⓟ/States"){»«∀(⊙){»…
   <State Name="◂‖"Ⓟ/0"▸"«∃(‖"Ⓟ/1"){» StateType="◂⊙▸"«}/∃»/>
   <State Name="◂‖"Ⓟ/0"▸" Variable="◂‖"Ⓟ/1"▸"«∃(‖"Ⓟ/2"){» StateType="◂⊙▸"«}/∃»/>
   ⋮«}/∀»«}/¬∅»…
   ⋮«}/∀»«}/¬∅»…
   ⋮« }/⇾ »…
   ⋮« }/⇾ »…
   ⋮«∀(‖"Ⓟ/Attributes"){if(‖"Ⓟ/Association" == null){»…
   ⋮«∀(‖"Ⓟ/Attributes"){if(‖"Ⓟ/Association" == null){»…
   <Attribute Name="◂‖"Ⓟ/Name"▸" Type="◂((String)(‖"Ⓟ/Type")).replace("/",".")▸"«¬∅(‖"Ⓟ/Stereotypes"){» Stereotype="«∀(⊙){»◂⊙▸«}/∀»"«}/¬∅»…
   <Attribute Name="◂‖"Ⓟ/Name"▸" Type="◂((String)(‖"Ⓟ/Type")).replace("/",".")▸"«∀(‖"Ⓟ/Stereotypes"){» Stereotype-◂Ⓘ▸="◂⊙▸"«}/∀»…
     ⋮⊏ ➜ this.Extensions(object, "Attribute") ⊐…
     ⋮⊏ ➜ this.Extensions(object, "Attribute") ⊐…
   ⋮«}}/∀»…
   ⋮«}}/∀»…
   ⋮«∀(‖"Ⓟ/Operations"){»…
   ⋮«∀(‖"Ⓟ/Operations"){»…
   ⋮« String op_type; ⇾(⊙,WIMLTransition) { op_type = "Transition"; }∨{ op_type = "Operation"; }/⇾ »…
   ⋮« String op_type; ⇾(⊙,WIMLTransition) { op_type = "Transition"; }∨{ op_type = "Operation"; }/⇾ »…
   <◂op_type▸ Name="◂‖"Ⓟ/Name"▸" ReturnType="◂‖"Ⓟ/ReturnType"▸"«¬∅(‖"Ⓟ/Stereotypes"){» Stereotype="«∀(⊙){»◂⊙▸«}/∀»"«}/¬∅»…
   <◂op_type▸ Name="◂‖"Ⓟ/Name"▸" ReturnType="◂‖"Ⓟ/ReturnType"▸"«∀(‖"Ⓟ/Stereotypes"){» Stereotype-◂Ⓘ▸="◂⊙▸"«}/∀»…
                       ⋮« ⇾(⊙,WIMLTransition) {»«¬∅(‖"Ⓟ/BeforeStates"){»«∀(⊙){» BeforeState-◂Ⓘ+1▸="◂⊙▸"«}/∀»«}/¬∅»« }/⇾ »…
                       ⋮« ⇾(⊙,WIMLTransition) {»«¬∅(‖"Ⓟ/BeforeStateExpression"){» BeforeStates="◂⊙▸"«}/¬∅»« }/⇾ »…
     ⋮⊏ ➜ this.Extensions(object, op_type) ⊐…
     ⋮⊏ ➜ 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) ⊐…
   ⋮⊏ ➜ this.Extensions(object, null) ⊐…
Line 77: Line 93:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Association>
<Association>
   ⋮⊏ ➜ this.Imports(object) ⊐…
   ⋮⊏ ➜ this.Imports(wc) ⊐…
   <Ends>
   <Ends>
     <End>
     <End>
       ⋮«¬∅(‖"Ⓟ/Stereotypes"){»…
       ⋮«¬∅(‖"Ⓟ/Stereotypes"){»«∀(⊙){»…
       <Stereotype>«∀(⊙){»◂⊙▸«}/∀»</Stereotype>
       <Stereotype>◂⊙▸</Stereotype>
       ⋮«}/¬∅»…
      ⋮«}/∀»«}/¬∅»…
      ⋮«∃(‖"Ⓟ/OtherName"){»…
      <Role>◂⊙▸</Role>
       ⋮«}/∃»…
       <Type>◂‖[wc]"Ⓟ/Name"▸</Type>
       <Type>◂‖[wc]"Ⓟ/Name"▸</Type>
      ⋮«∃(‖"Ⓟ/OtherMultiplicity"){»…
      <Multiplicity>◂⊙▸</Multiplicity>
      <IsNavigable>true</IsNavigable>
      ⋮«}∨{»…
       <Multiplicity>1</Multiplicity>
       <Multiplicity>1</Multiplicity>
       <IsNavigable>false</IsNavigable>
       <IsNavigable>false</IsNavigable>
       ⋮⊏ ➜ this.Extensions(object, null) ⊐…
       ⋮«}/∃»…
      ⋮«●(‖"Ⓟ/Ends/0"){»⊏ ➜ this.Extensions(object, null) ⊐«}/●»…
     </End>
     </End>
     <End>
     <End>
       <Role>◂‖"Ⓟ/Name"▸</Role>
       <Role>◂‖"Ⓟ/Name"▸</Role>
       <Type>◂((String)(‖"Ⓟ/Type")).replace("/",".")▸</Type>
       <Type>◂((String)(‖"Ⓟ/Type")).replace("/",".")▸</Type>
       <Multiplicity>◂‖"Ⓟ/Association"▸</Multiplicity>
       <Multiplicity>◂‖"Ⓟ/Multiplicity"▸</Multiplicity>
       <IsNavigable>true</IsNavigable>
       <IsNavigable>true</IsNavigable>
       ⋮⊏ ➜ this.Extensions(object, null) ⊐…
       ⋮«●(‖"Ⓟ/Ends/1"){»⊏ ➜ this.Extensions(object, null) ⊐«}/●»…
     </End>
     </End>
   </Ends>
   </Ends>
Line 104: Line 128:
     throw osc;
     throw osc;
   } catch (Throwable t) {
   } catch (Throwable t) {
     org.oomodels.OOMStatusCode osc = new org.oomodels.OOMStatusCode(204);
     org.oomodels.OOMStatusCode osc = new org.oomodels.OOMStatusCode(500);
     //osc.setCause(t);
     //osc.setCause(t);
     throw osc;
     throw osc;
Line 158: Line 182:
⊏ Ⓣ Imports(Object object) ⊐…
⊏ Ⓣ Imports(Object object) ⊐…
   <StereotypeModelImport>org.uml.stereotypes.*</StereotypeModelImport>
   <StereotypeModelImport>org.uml.stereotypes.*</StereotypeModelImport>
  ⋮«∀(‖"Ⓟ/ModelImports"){»…
  <ModelImport>◂⊙▸</ModelImport>
  ⋮«}/∀»…
  ⋮«¬∅(‖"Ⓟ/ExternalImports"){»…
    ⋮«∀(⊙){»…
      ⋮«if(((String)⊙).indexOf('.') != -1){»…
  <ExternalImport>◂⊙▸</ExternalImport>
      ⋮«}else{»…
  <PrimitiveImport>◂⊙▸</PrimitiveImport>
      ⋮«}»…
    ⋮«}/∀»…
  ⋮«}∨{»…
   <ExternalImport>java.lang.Boolean</ExternalImport>
   <ExternalImport>java.lang.Boolean</ExternalImport>
   <ExternalImport>java.lang.Byte</ExternalImport>
   <ExternalImport>java.lang.Byte</ExternalImport>
Line 177: Line 213:
   <PrimitiveImport>double</PrimitiveImport>
   <PrimitiveImport>double</PrimitiveImport>
   <PrimitiveImport>char</PrimitiveImport>
   <PrimitiveImport>char</PrimitiveImport>
  ⋮«}/¬∅»…
⊏ /Ⓣ ⊐…
⊏ /Ⓣ ⊐…
</OOMCode>
</OOMCode>

Latest revision as of 09:02, 6 August 2013

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

Caution! This is a 98% copy of wiml-1.0-ooem-package-1.0 (todo: wiki subtemplates)

Code[edit]


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;
  if (wc == null) {
    throw new org.oomodels.OOMStatusCode(204);
  } else {
»…
MIME-Version: 1.0
Content-type: multipart/mixed; charset=utf-8; boundary="mimeboundery"

«
    ∀(‖"Ⓟ/Attributes"){
      if (‖"Ⓟ/Association"!=null) { has_associations = true; }
    }/∀
»…
--mimeboundery
Content-type: text/plain; charset=utf-8
Content-Disposition: attachment; filename=◂‖"Ⓟ/Name"▸.model

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
« ⇾(⊙,WIMLStateMachine) {»<StateMachine>«}∨{»<Class>« }/⇾ »
  ⋮⊏ ➜ this.Imports(wc) ⊐…
  <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>◂((String)⊙).replaceFirst("org/ooem/stereotypes/.*/","")▸</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") ⊐…
  ⋮«}}/∀»…
  ⋮«∀(‖"Ⓟ/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>« }/⇾ »
« if (has_associations) { »…
⋮«∀(‖"Ⓟ/Attributes"){if(‖"Ⓟ/Association" != null){»…
--mimeboundery
Content-type: text/plain; charset=utf-8
Content-Disposition: attachment; filename=◂‖[wc]"Ⓟ/Name"▸Association◂‖"Ⓟ/Name"▸.model

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Association>
  ⋮⊏ ➜ this.Imports(wc) ⊐…
  <Ends>
    <End>
      ⋮«¬∅(‖"Ⓟ/Stereotypes"){»«∀(⊙){»…
      <Stereotype>◂⊙▸</Stereotype>
      ⋮«}/∀»«}/¬∅»…
      ⋮«∃(‖"Ⓟ/OtherName"){»…
      <Role>◂⊙▸</Role>
      ⋮«}/∃»…
      <Type>◂‖[wc]"Ⓟ/Name"▸</Type>
      ⋮«∃(‖"Ⓟ/OtherMultiplicity"){»…
      <Multiplicity>◂⊙▸</Multiplicity>
      <IsNavigable>true</IsNavigable>
      ⋮«}∨{»…
      <Multiplicity>1</Multiplicity>
      <IsNavigable>false</IsNavigable>
      ⋮«}/∃»…
      ⋮«●(‖"Ⓟ/Ends/0"){»⊏ ➜ this.Extensions(object, null) ⊐«}/●»…
    </End>
    <End>
      <Role>◂‖"Ⓟ/Name"▸</Role>
      <Type>◂((String)(‖"Ⓟ/Type")).replace("/",".")▸</Type>
      <Multiplicity>◂‖"Ⓟ/Multiplicity"▸</Multiplicity>
      <IsNavigable>true</IsNavigable>
      ⋮«●(‖"Ⓟ/Ends/1"){»⊏ ➜ this.Extensions(object, null) ⊐«}/●»…
    </End>
  </Ends>
  ⋮⊏ ➜ this.Extensions(object, null) ⊐…
</Association>
⋮«}}/∀»…
« } »…
« } »…
« } catch (org.oomodels.OOMStatusCode osc) {
    throw osc;
  } catch (Throwable t) {
    org.oomodels.OOMStatusCode osc = new org.oomodels.OOMStatusCode(500);
    //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▸>
    ⋮«}∨{»/>
    ⋮«}/¬➀»…
  ⋮«}»…
⊏ /Ⓣ ⊐…
⊏ Ⓣ Imports(Object object) ⊐…
  <StereotypeModelImport>org.uml.stereotypes.*</StereotypeModelImport>
  ⋮«∀(‖"Ⓟ/ModelImports"){»…
  <ModelImport>◂⊙▸</ModelImport>
  ⋮«}/∀»…
  ⋮«¬∅(‖"Ⓟ/ExternalImports"){»…
    ⋮«∀(⊙){»…
      ⋮«if(((String)⊙).indexOf('.') != -1){»…
  <ExternalImport>◂⊙▸</ExternalImport>
      ⋮«}else{»…
  <PrimitiveImport>◂⊙▸</PrimitiveImport>
      ⋮«}»…
    ⋮«}/∀»…
  ⋮«}∨{»…
  <ExternalImport>java.lang.Boolean</ExternalImport>
  <ExternalImport>java.lang.Byte</ExternalImport>
  <ExternalImport>java.lang.Short</ExternalImport>
  <ExternalImport>java.lang.Integer</ExternalImport>
  <ExternalImport>java.lang.Long</ExternalImport>
  <ExternalImport>java.lang.Float</ExternalImport>
  <ExternalImport>java.lang.Double</ExternalImport>
  <ExternalImport>java.lang.Character</ExternalImport>
  <ExternalImport>java.lang.String</ExternalImport>
  <ExternalImport>java.util.Date</ExternalImport>
  <ExternalImport>java.lang.Object</ExternalImport>
  <PrimitiveImport>boolean</PrimitiveImport>
  <PrimitiveImport>byte</PrimitiveImport>
  <PrimitiveImport>short</PrimitiveImport>
  <PrimitiveImport>int</PrimitiveImport>
  <PrimitiveImport>long</PrimitiveImport>
  <PrimitiveImport>float</PrimitiveImport>
  <PrimitiveImport>double</PrimitiveImport>
  <PrimitiveImport>char</PrimitiveImport>
  ⋮«}/¬∅»…
⊏ /Ⓣ ⊐…