Artefact:Model/org/ooem/tests/models/basic/simplexmodel

From OOModels
< Artefact:Model‎ | org‎ | ooem‎ | tests‎ | models‎ | basic
Revision as of 09:42, 25 June 2008 by AndreasLeue (talk | contribs)
Jump to navigationJump to search
Classification
Type Type:org/ooem/UMLPackage/1.0
Domain Domain:it/test
Encoding Type:org/xocp/OCP/xml/2.0
Category Type:org/oomodels/wiki/Model
More
Download Code
Namespace (more)

Basic test models for OOEM implementations

create new pages

Code[edit]

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://www.ooem.org/1.0">
  <InternalModelImport>org.uml.stereotypes.*</InternalModelImport>
  <ExternalImport>java.lang.String</ExternalImport>
  <ExternalImport>java.lang.Boolean</ExternalImport>
  <ExternalImport>java.lang.Object</ExternalImport>
  <Name>simplexmodel</Name>
  <Class>
    <Name>MyClass01</Name>
    <Attributes>
      <Attribute Name="MyAttribute11" Type="String"/>
      <Attribute Name="MyAttribute12" Type="String">
        <XMLogic><DefaultValue><JavaCode>new String()</JavaCode></DefaultValue></XMLogic>
      </Attribute>
      <Attribute Name="MyAttribute13" Type="Boolean" IsReadOnly="true"/>
      <Attribute Name="MyAttribute14" Type="String" Visibility="protected"/>
      <Attribute Name="MyAttribute15" Type="String">
        <XMLogic>
          <ImplementationType>MyCoolString</ImplementationType>
          <DefaultValue><JavaCode>"Hi there!"</JavaCode></DefaultValue>
        </XMLogic>
      </Attribute>
    </Attributes>
  </Class>
  <Class>
    <Name>MyClass02</Name>
    <Attributes>
      <Attribute Name="MyAttribute" Type="String"/>
    </Attributes>
    <XMCoreClasses CLASS="XMCoreClasses">
      <Interface>false</Interface>
      <Implementations/>
    </XMCoreClasses>
  </Class>
  <Class>
    <Name>MyClass03</Name>
    <Attributes>
      <Attribute Name="MyAttribute31" Type="String"/>
      <Attribute Name="MyAttribute32" Type="String" IsReadOnly="true"/>
    </Attributes>
    <XMCoreClasses CLASS="XMCoreClasses">
      <Interface>false</Interface>
      <Implementations><i1>Default</i1><i2>Custom</i2><i3>Willy</i3></Implementations>
    </XMCoreClasses>
  </Class>
  <Class>
    <Name>MyClass04</Name>
    <Attributes>
      <Attribute Name="MyAttribute41" Type="String"/>
      <Attribute Name="MyAttribute42" Type="String" IsReadOnly="true"/>
    </Attributes>
  </Class>
  <Class>
    <Name>MyClass05</Name>
    <Stereotype>Class</Stereotype>
    <Attributes>
      <Attribute Name="MyAttribute51" Type="String"/>
      <Attribute Name="MyAttribute52" Type="String" IsReadOnly="true"/>
    </Attributes>
  </Class>
  <Association>
    <End Type="MyClass04" Multiplicity="1"/>
    <End Type="MyClass05" Multiplicity="*" IsNavigable="true" Role="Hugo"/>
  </Association>
  <Class>
    <Name>MyClass06</Name>
    <Attributes>
      <Attribute Name="MyAttribute61" Type="String"/>
      <Attribute Name="MyAttribute62" Type="Vector<String>"/>
      <Attribute Name="MyAttribute63" Type="Vector<{String}>"/>
    </Attributes>
  </Class>
  <Class>
    <Name>MyClass07</Name>
    <TemplateParameters>
      <TemplateParameter Name="Willybald" Supertype="Object"/>
    </TemplateParameters>
    <Attributes>
      <Attribute Name="MyAttribute71" Type="Willybald"/>
      <Attribute Name="MyAttribute72" Type="Vector<String>"/>
      <Attribute Name="MyAttribute73" Type="Vector<{String}>"/>
    </Attributes>
  </Class>
  <Class>
    <Name>MyClass08</Name>
    <TemplateParameters>
      <TemplateParameter Name="Willybald" Supertype="Object"/>
    </TemplateParameters>
    <Attributes>
      <Attribute Name="MyAttribute81" Type="Willybald"/>
      <Attribute Name="MyAttribute82" Type="Vector<String>"/>
      <Attribute Name="MyAttribute83" Type="Vector<{String}>"/>
    </Attributes>
  </Class>
  <Class>
    <Name>MyClass09</Name>
    <Operations>
      <Operation Name="doIt">
        <Signature ReturnType="void">
          <Arguments>
            <Argument Name="What" Type="String"/>
          </Arguments>
        </Signature>
      </Operation>
    </Operations>
  </Class>
  <Class>
    <Name>MyClass10</Name>
    <Attributes>
      <Attribute Name="MyAttribute101" Type="String">
        <XMAnnotations>
          <InterfaceGet>
            <JavaCodeTemplate CONTENT="Text/Indented">
              // @Foo ${name} ${lcu_name} ${type} ${class}
              // @Bar
            </JavaCodeTemplate>
          </InterfaceGet>
        </XMAnnotations>
      </Attribute>
      <Attribute Name="MyAttribute102" Type="String" IsReadOnly="true"/>
    </Attributes>
    <Operations>
      <Operation Name="doIt">
        <Signature ReturnType="void">
          <Arguments>
            <Argument Name="What" Type="String"/>
          </Arguments>
        </Signature>
        <XMAnnotations>
          <InterfaceOperation>
            <JavaCodeTemplate CONTENT="Text/Indented">
              // @Fooo ${name} ${lcu_name} ${type} ${class}
              // @Baar
            </JavaCodeTemplate>
          </InterfaceOperation>
        </XMAnnotations>
      </Operation>
    </Operations>
    <XMAnnotations>
      <Interface>
        <JavaCodeTemplate CONTENT="Text/Indented">
          // @Foofoo ${name} ${lcu_name} ${type} ${class}
          // @Barbar
        </JavaCodeTemplate>
      </Interface>
    </XMAnnotations>
  </Class>
</Package>


Description[edit]

The package contains a few classes to test XModel properties. Note: in production models, these properties are defined usually via stereotypes.