Skip to content

Technical Stuff

Aian Shay edited this page Dec 17, 2019 · 3 revisions

Teams:

  • XML to intermediary language: @Aianshay, @Arouck
  • Intermediary language to Code: @Renan-Cunha, @VitorCantao

UML

Wikipedia - Class Diagram

XML Patterns

draw.io class diagram template

Each entity is represented by a mxCell with a unique id and a parent. We can infer what the cell is by looking at its style:

  • Text: Could represent floating texts or proper classes. Further information required.
  • Line: Just a line flying around.
  • Arrow: Unfortunately it changes depending on the arrow properties. However, we can find endArrow or startArrow to check for its type.

Arrows

Relevant information:

  • Target
  • Source
  • End/startArrow
  • Style

Arrow types (style):

  • diamonThin, endFill=0: Aggregation
  • diamonThin, endFill=1: Composition
  • block, dashed=0: Inheritance
  • block, dashed=1: Implementation
  • open/openThin, dashed=0: Association
  • open/openThin, dashed=1: Dependency

Fields and Methods

Access modifiers:

  • + Public
  • - Private
  • # Protected
  • ~ Package

Fields do not have () before the :. We can use that to distinguish between the two: Whenever there is a () after the name, that's a method.

Types of classes:

  • Class 5: Just a bunch of HTML tags embedded inside an XML file, with a tag <hr line=1> that separates the class name, attributes and methods.
Clone this wiki locally