<general_metatype_properties> =
{
  # RWI specific properties

  $shapeType = "ShapeType";
  $name = "Name";
  $fullName = "Full name";
  $doc = "Documentation";
  $hyperlink = "Hyperlinks to Elements";

  # properties processed by GenDoc

  %package = "Containing package";
  %src_shape_type = "ShapeType of link source";
  %src_name = "Name of link source";
  %src_full_name = "FullName of link source";
  %dest_shape_type = "ShapeType of link destination";
  %dest_name = "Name of link destination";
  %dest_full_name = "FullName of link destination";
  %annotation = "Annotation";
  %extClassName = "Extended class name"; # the same as "$name" but for inner classes 
                                         # it's leaded by the owning class name prefix

  # Other

  url = "Hyperlinks to URL";
  stereotype = "Stereotype";
  label = "Label";
}

#--------------------------------------------------------------------
# RWI Generic Metatypes
#--------------------------------------------------------------------

<metatype>
  name=MODEL_META_TYPE
  rwi_entity=model
  contained_metatypes = { PACKAGE }
</metatype>

#--------------------------------------------------------------------
<metatype>
  name=ELEMENT
  rwi_entity=element
  full_name="Element (generic)"
  properties = { $shapeType;
                 $name; 
                 $doc;
                 %annotation;
                 $hyperlink;
                 url }
  excluded_properties = { $shapeType; 
                          $name }
  contained_metatypes = { LINK }
</metatype>

#--------------------------------------------------------------------
<metatype>
  name=PACKAGE
  extends=ELEMENT
  rwi_entity=package
  full_name="Package"
  properties = { $fullName;
                 %package;
                 stereotype }
  contained_metatypes = { PACKAGE;
                          DIAGRAM;
                          NODE }
</metatype>

#--------------------------------------------------------------------
<metatype>
  name=DIAGRAM
  extends=ELEMENT
  rwi_entity=diagram
  full_name="Diagram (generic)"
  properties = { %package;
                 stereotype }
  contained_metatypes = { DIAGRAM_REFERENCE; NODE }
</metatype>

#--------------------------------------------------------------------
<metatype>
  name=DIAGRAM_REFERENCE
  extends=ELEMENT
  rwi_entity=diagram_reference
  full_name="Diagram reference"
  properties = { %package; 
                 stereotype }
</metatype>

#--------------------------------------------------------------------
<metatype>
  name=NODE
  extends=ELEMENT
  rwi_entity=node
  full_name="Node"
  properties = { %package }
  contained_metatypes = { NODE; MEMBER; LINK }
</metatype>

#--------------------------------------------------------------------
<metatype>
  name=MEMBER
  extends=ELEMENT
  rwi_entity=member
  full_name="Member"
  contained_metatypes = { LINK }
</metatype>

#--------------------------------------------------------------------
<metatype>
  name=LINK
  rwi_entity=link
  full_name="Link"
  properties = { $shapeType;
                 $doc;
                 %annotation;
                 %src_shape_type;
                 %src_name;
                 %src_full_name;
                 %dest_shape_type;
                 %dest_name;
                 %dest_full_name }
  excluded_properties = { $shapeType; 
                          $name;
                          $label }
</metatype>

#--------------------------------------------------------------------
