format 22
"API BASE" // API BASE
  // class settings
  //class diagram settings
  draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default
  //use case diagram settings
  package_name_in_tab default show_context default auto_label_position default
  //sequence diagram settings
  show_full_operations_definition default write_horizontally default drawing_language default
  //collaboration diagram settings
  show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default
  //component diagram settings
  package_name_in_tab default show_context default auto_label_position default
  draw_component_as_icon default show_component_req_prov default show_component_rea default
  //deployment diagram settings
  package_name_in_tab default show_context default write_horizontally default auto_label_position default
  draw_component_as_icon default show_component_req_prov default show_component_rea default
  //state diagram settings
  package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default
  show_activities default region_horizontally default drawing_language default
  
  comment "The API system classes and components

DO NOT MODIFY THEM !!!
"
  classview 256 "API BASE class view"
    //class diagram settings
    draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default
    //col diagram settings
    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default
    //seq diagram settings
    show_full_operations_definition default write_horizontally default drawing_language default
    //state diagram settings
    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default
    show_activities default region_horizontally default drawing_language default
    //class settings
    associated_deployment_view deploymentview_ref 256 // API BASE Deployment view
    comment "The API system classes

DO NOT MODIFY THEM !!!
"
    class 256 "aRelationKind"
       stereotype "enum_pattern"
      
      cpp_decl "${comment}enum ${name} {
${items}
};
"
      public final java_decl "${comment}${public}final class ${name} {
${members}
  private int value;

  public int value() {
    return value;
  }

  public static ${name} fromInt(int value) {
    switch (value) {
${cases}    default: throw new Error();
    }
  }

  private ${name}(int v) { value = v; }; 
}
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " The king of a relation, returned by UmlBaseRelation::RelationKind()"
      attribute 256 "anAssociation"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 384 "aDirectionalAssociation"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 512 "aGeneralisation"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 640 "anAggregation"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 768 "anAggregationByValue"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 896 "aDirectionalAggregation"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 1024 "aDirectionalAggregationByValue"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 1152 "aDependency"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 1280 "aRealization"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end
    end

    class 384 "aDirection"
       stereotype "enum_pattern"
      
      cpp_decl "${comment}enum ${name} {
${items}
};
"
      public final java_decl "${comment}${public}final class ${name} {
${members}
  private int value;

  public int value() {
    return value;
  }

  public static ${name} fromInt(int value) {
    switch (value) {
${cases}    default: throw new Error();
    }
  }

  private ${name}(int v) { value = v; }; 
}
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " The direction of an operation's parameter, see UmlParameter"
      attribute 1408 "InputOutputDirection"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 1536 "InputDirection"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 1664 "OutputDirection"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end
    end

    class 512 "aVisibility"
       stereotype "enum_pattern"
      
      cpp_decl "${comment}enum ${name} {
${items}
};
"
      public final java_decl "${comment}${public}final class ${name} {
${members}
  private int value;

  public int value() {
    return value;
  }

  public static ${name} fromInt(int value) {
    switch (value) {
${cases}    default: throw new Error();
    }
  }

  private ${name}(int v) { value = v; }; 
}
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " The visibility of a class member

 The 'default visibility' is used to configure the Drawing Settings and
 for the C++ cases (see UmlBaseClassMember::CppVisibility())"
      attribute 1792 "PublicVisibility"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 1920 "ProtectedVisibility"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 2048 "PrivateVisibility"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 2176 "DefaultVisibility"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end
    end

    class 640 "anItemKind"
       stereotype "enum_pattern"
      
      cpp_decl "${comment}enum ${name} {
${items}
};
"
      public final java_decl "${comment}${public}final class ${name} {
${members}
  private int value;

  public int value() {
    return value;
  }

  public static ${name} fromInt(int value) {
    switch (value) {
${cases}    default: throw new Error();
    }
  }

  private ${name}(int v) { value = v; }; 
}
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " the king of any item, returned by UmlBaseItem::Kind()"
      attribute 2304 "aRelation"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 2432 "anAttribute"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 2560 "anOperation"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 2688 "anExtraClassMember"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 2816 "aClass"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 2944 "anUseCase"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 3072 "aComponent"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 3200 "aNode"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 54784 "anArtifact"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 3328 "aNcRelation"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 3456 "aClassDiagram"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 3584 "anUseCaseDiagram"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 3712 "aSequenceDiagram"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 3840 "aCollaborationDiagram"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 3968 "aComponentDiagram"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 4096 "aDeploymentDiagram"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 4224 "aClassView"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 4352 "anUseCaseView"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 4480 "aComponentView"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 4608 "aDeploymentView"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 4736 "aPackage"
	public explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 56064 "aState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 56192 "aTransition"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 56320 "aRegion"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 56448 "aStateDiagram"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 56576 "aStateAction"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 56704 "anInitialPseudoState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 56832 "anEntryPointPseudoState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 56960 "aFinalState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 57088 "aTerminatePseudoState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 57216 "anExitPointPseudoState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 57344 "aDeepHistoryPseudoState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 57472 "aShallowHistoryPseudoState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 57600 "aJunctionPseudoState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 57728 "aChoicePseudoState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 57856 "aForkPseudoState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end

      attribute 57984 "aJoinPseudoState"
	protected explicit_type ""
	cpp_decl "  ${name}${value},${comment}"
	java_decl "  ${comment}public static final int _${name}${value};
public static final ${class} ${name} = new ${class}(_${name});
"
	idl_decl ""
      end
    end

    class 768 "UmlParameter"
       stereotype "struct"
      
      cpp_decl "${comment}${template}struct ${name}${inherit} {
${members}};

${inlines}
"
      final java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Represent an operation's parameter
"
      operation 256 "UmlParameter"
	public explicit_return_type ""
	nparams 0
	
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${)}${throws} {
${body}}
"
	
      end

      operation 384 "clone_it"
	public return_type class_ref 768 // UmlParameter
	nparams 0
	
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  Clone the parameter, defined only in Java which does not have 'const' or 'value passing'"
      end

      classrelation 256 // dir (<directional aggregation by value>)
	relation 256 *-->
	  a role_name "dir" multiplicity "" public
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 256 // dir (<directional aggregation by value>)
	  b parent class_ref 384 // aDirection
      end

      classrelation 384 // type (<directional aggregation by value>)
	relation 384 *-->
	  a role_name "type" multiplicity "" public
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 384 // type (<directional aggregation by value>)
	  b parent class_ref 1152 // UmlTypeSpec
      end

      attribute 4864 "name"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 4992 "default_value"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end
    end

    class 896 "UmlBaseActualParameter"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " This class manages 'actual parameters' of a template class. For instance T in

	class Cl1 : public Cl2<T> ..."
      operation 512 "UmlBaseActualParameter"
	cpp_inline public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${name}${(}${)} {};
"
	java_def "  ${comment}${visibility}${final}${name}${(}${)}${throws} {}
"
	
      end

      operation 640 "superClass"
	const public return_type class_ref 7169 // UmlClass
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{ return _superClass; }
"
	final java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{ return _superClass; }
"
	
	comment " returns the class of the corresponding formal"
      end

      operation 768 "rank"
	const public explicit_return_type "unsigned"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{ return _rank; }

"
	final java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{ return _rank; }
"
	
	comment " returns the actual rank (0...)"
      end

      operation 896 "value"
	const public return_type class_ref 1152 // UmlTypeSpec
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{ return _value; }
"
	final java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{ return _value; }
"
	
	comment " returns the actual's value"
      end

      classrelation 512 // <dependency>
	relation 512 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 512 // <dependency>
	  b parent class_ref 1408 // UmlBaseClass
      end

      classrelation 640 // _superClass (<unidirectional association>)
	relation 640 --->
	  a role_name "_superClass" multiplicity "" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 640 // _superClass (<unidirectional association>)
	  b parent class_ref 7169 // UmlClass
      end

      attribute 5120 "_rank"
	protected explicit_type "unsigned"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      classrelation 768 // _value (<directional aggregation by value>)
	relation 768 *-->
	  a role_name "_value" multiplicity "" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 768 // _value (<directional aggregation by value>)
	  b parent class_ref 1152 // UmlTypeSpec
      end

      operation 1024 "read_"
	protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end
    end

    class 1024 "UmlBaseFormalParameter"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " This class manages 'formal parameters' of a template class. For instance 'T' in 

	template class Cl<class T> ..."
      operation 1152 "UmlBaseFormalParameter"
	cpp_inline public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${name}${(}${)} {};
"
	java_def "  ${comment}${visibility}${final}${name}${(}${)}${throws}{}
"
	
      end

      operation 1280 "name"
	const cpp_inline public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract} { return _name; };
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{ return _name; }
"
	
	comment " returns the name of the formal"
      end

      operation 1408 "type"
	const cpp_inline public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract} { return _type; };
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{ return _type; }
"
	
	comment " returns the type of a formal, probably \"class\""
      end

      operation 1536 "defaultValue"
	const cpp_inline public return_type class_ref 1152 // UmlTypeSpec
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract} { return _default_value; };
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{ return _default_value; }
"
	
	comment " returns the default actual value"
      end

      classrelation 896 // <dependency>
	relation 896 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 896 // <dependency>
	  b parent class_ref 1408 // UmlBaseClass
      end

      attribute 5248 "_name"
	protected explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 5376 "_type"
	protected explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
	comment " \"class\" ..."
      end

      classrelation 1024 // _default_value (<directional aggregation by value>)
	relation 1024 *-->
	  a role_name "_default_value" multiplicity "" protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 1024 // _default_value (<directional aggregation by value>)
	  b parent class_ref 1152 // UmlTypeSpec
      end

      operation 1664 "read_"
	protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end
    end

    class 1152 "UmlTypeSpec"
      
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " this class memorize a type specification, which may be

 - a class reference

 - an explicit type"
      attribute 5504 "explicit_type"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
	comment " significant in case type == 0"
      end

      classrelation 1152 // type (<unidirectional association>)
	relation 1152 --->
	  a role_name "type" multiplicity "" public
	    comment " if != 0 the class representing the type"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 1152 // type (<unidirectional association>)
	  b parent class_ref 7169 // UmlClass
	comment " if != 0 the class representing the type"
      end

      operation 1792 "UmlTypeSpec"
	cpp_inline public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${name}${(}${)} : type(0) {};
"
	java_def "  ${comment}${visibility}${final}${name}${(}${)}${throws}{}
"
	
      end

      operation 1920 "toString"
	const public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the type as a string in all cases"
      end

      operation 2048 "clone_it"
	public return_type class_ref 1152 // UmlTypeSpec
	nparams 0
	
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Clone the type specification, defined only in Java which does not have 'const' or 'value passing'"
      end
    end

    class 1280 "UmlBaseAttribute"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the class's attributs
"
      classrelation 1280 // <generalisation>
	relation 1280 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 1280 // <generalisation>
	  b parent class_ref 7553 // UmlClassMember
      end

      operation 2176 "create"
	class_operation public return_type class_ref 7041 // UmlAttribute
	nparams 2
	  param inout name "parent" type class_ref 7169 // UmlClass
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new attribute named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 2304 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 2432 "isReadOnly"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " indicates if the attribute is read only, returns TRUE if yes"
      end

      operation 2560 "set_isReadOnly"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the 'read only' state of the attribute
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 2688 "defaultValue"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the default attribute value, may be an empty string"
      end

      operation 2816 "set_DefaultValue"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the default attribute value (\"\" allowed)
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 2944 "type"
	public return_type class_ref 1152 // UmlTypeSpec
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the attribute UML type"
      end

      operation 3072 "set_Type"
	public explicit_return_type "bool"
	nparams 1
	  param in name "t" type class_ref 1152 // UmlTypeSpec
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the attribute UML type
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 3200 "getOperation"
	public return_type class_ref 9089 // UmlOperation
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the 'get' operation of the attribute, or 0 if it does not exist"
      end

      operation 3328 "addGetOperation"
	public explicit_return_type "bool"
	nparams 0
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to generate an associated 'get' operation
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 3456 "setOperation"
	public return_type class_ref 9089 // UmlOperation
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the 'set' operation of the attribute, or 0 if it does not exist
"
      end

      operation 3584 "addSetOperation"
	public explicit_return_type "bool"
	nparams 0
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to generate an associated 'set' operation
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 3712 "isCppMutable"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Indicate if the attribute is 'mutable'"
      end

      operation 3840 "set_isCppMutable"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
#endif"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Set if the attribute is 'mutable'

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 3968 "isJavaTransient"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " indicates if the attribute is 'transient', returns TRUE if yes"
      end

      operation 4096 "set_isJavaTransient"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the 'transient' state of the attribute
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 4224 "idlCase"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " in case the attribute is an IDL union's member returns the
 corresponding 'case', an empty string in case it is not specified"
      end

      operation 4352 "set_IdlCase"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "a" type class_ref 7041 // UmlAttribute
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the 'case' even the attribute is not (already) known as
 an IDL union's member

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 4480 "set_IdlCase"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the 'case' even the attribute is not (already) known as
 an IDL union's member

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 4608 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} = FALSE, ${t1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded
 automatically if needed. args unused"
      end

      attribute 5632 "_read_only"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 5760 "_cpp_mutable"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 5888 "_java_transient"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 6016 "_default_value"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      classrelation 1408 // _type (<directional aggregation by value>)
	relation 1408 *-->
	  a role_name "_type" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 1408 // _type (<directional aggregation by value>)
	  b parent class_ref 1152 // UmlTypeSpec
      end

      classrelation 1536 // _get_oper (<unidirectional association>)
	relation 1536 --->
	  a role_name "_get_oper" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 1536 // _get_oper (<unidirectional association>)
	  b parent class_ref 9089 // UmlOperation
      end

      classrelation 1664 // _set_oper (<unidirectional association>)
	relation 1664 --->
	  a role_name "_set_oper" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 1664 // _set_oper (<unidirectional association>)
	  b parent class_ref 9089 // UmlOperation
      end

      classrelation 1792 // _idl_case (<unidirectional association>)
	relation 1792 --->
	  a role_name "_idl_case" multiplicity "" private
	    comment " exclusive with idl_explicit_case"
	    cpp default "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 1792 // _idl_case (<unidirectional association>)
	  b parent class_ref 7041 // UmlAttribute
	comment " exclusive with idl_explicit_case"
      end

      attribute 6144 "_idl_explicit_case"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      operation 4736 "UmlBaseAttribute"
	cpp_inline public explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)};
"
	cpp_def "${inline}${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlClassMember(id, n) {
${body}}
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end

      operation 4864 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 4992 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 5120 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 5248 "read_idl_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end
    end

    class 1408 "UmlBaseClass"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the classes"
      classrelation 1920 // <generalisation>
	relation 1920 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 1920 // <generalisation>
	  b parent class_ref 7553 // UmlClassMember
      end

      operation 5376 "create"
	class_operation public return_type class_ref 7169 // UmlClass
	nparams 2
	  param inout name "parent" type class_ref 8833 // UmlItem
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new class named 's' created under 'parent' 

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 5504 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 5632 "isAbstract"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE in case the class is abstract"
      end

      operation 5760 "set_isAbstract"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " the set if the class is abstract

 On error return FALSE in C++, produce a RuntimeException in Java,
 for instance you cannot set it to FALSE in case the class have
 abstract operations"
      end

      operation 5888 "baseType"
	public return_type class_ref 1152 // UmlTypeSpec
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the type on which the class (in fact a typedef) is based"
      end

      operation 6016 "set_BaseType"
	public explicit_return_type "bool"
	nparams 1
	  param in name "t" type class_ref 1152 // UmlTypeSpec
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the type on which the class (in fact a typedef) is based
 
 On error return FALSE in C++, produce a RuntimeException in Java, does not check that the class is (already) a typedef"
      end

      operation 6144 "formals"
	public return_type class_ref 6913 // UmlFormalParameter
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}QValueList<${type}> ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}QValueList<${type}> ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns (a copy of) the formals list"
      end

      operation 6272 "removeFormal"
	public explicit_return_type "bool"
	nparams 1
	  param in name "rank" explicit_type "uint"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " remove the formal of the given rank (0...), returns 0 on error

 On error return FALSE in C++, produce a RuntimeException in Java,
 does not check that the class is (already) a typedef"
      end

      operation 6400 "addFormal"
	public explicit_return_type "bool"
	nparams 2
	  param in name "rank" explicit_type "uint"
	  param in name "formal" type class_ref 6913 // UmlFormalParameter
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " adds a formal at the given rank (0...), returns 0 on error

On error return FALSE in C++, produce a RuntimeException in Java,
does not check that the class is (already) a typedef
"
      end

      operation 6528 "replaceFormal"
	public explicit_return_type "bool"
	nparams 2
	  param in name "rank" explicit_type "uint"
	  param in name "formal" type class_ref 6913 // UmlFormalParameter
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " replace the formal at the given rank (0...)

 On error return FALSE in C++, produce a RuntimeException in Java,
 does not check that the class is (already) a typedef
"
      end

      operation 6656 "actuals"
	public return_type class_ref 6785 // UmlActualParameter
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}QValueList<${type}> ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}QValueList<${type}> ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns (a copy of) the actuals list"
      end

      operation 6784 "replaceActual"
	public explicit_return_type "bool"
	nparams 2
	  param in name "rank" explicit_type "uint"
	  param in name "type" type class_ref 1152 // UmlTypeSpec
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " replace the actual value at the given rank (0...)

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 6912 "associatedDiagram"
	public return_type class_ref 7297 // UmlClassDiagram
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the optional associated diagram"
      end

      operation 7040 "set_AssociatedDiagram"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "d" type class_ref 7297 // UmlClassDiagram
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the associated diagram, arg may be null to unset it

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 7168 "associatedArtifact"
	public return_type class_ref 8193 // UmlArtifact
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the optional associated artifact,
 to set it refer to the UmlBaseArtifact's operations
 addAssociatedClass(), removeAssociatedClass() and
 setAssociatedClasses()"
      end

      operation 77568 "associatedComponents"
	public return_type class_ref 128002 // UmlComponent
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QVector<${type}> ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QVector<${type}> ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the components realizing or providing the class.
 To set them refer to the UmlBaseComponent's operation setAssociatedClasses()"
      end

      operation 7296 "isCppExternal"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the class is external, its definition
 must contains how the name is made on the first line
 (${name} by default), the other lines if they exist
 must contains the #include and may be using forms"
      end

      operation 7424 "set_isCppExternal"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set if the class is external
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 7552 "isJavaExternal"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the class is external, its definition
 must contain how the name is made on the first line
 (${name} by default), the other lines are ignored"
      end

      operation 7680 "set_isJavaExternal"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set if the class is external
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 7808 "isJavaPublic"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE is the class is public"
      end

      operation 7936 "set_isJavaPublic"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set if the class is public
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 8064 "isJavaFinal"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE is the class is final   "
      end

      operation 8192 "set_isJavaFinal"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set if the class is final
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 8320 "switchType"
	public return_type class_ref 1152 // UmlTypeSpec
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHIDL
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the switch's type, significant in case the class
 is an union in IDL"
      end

      operation 8448 "set_SwitchType"
	public explicit_return_type "bool"
	nparams 1
	  param in name "t" type class_ref 1152 // UmlTypeSpec
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the switch type even the class is not (already) an IDL union

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 8576 "isIdlExternal"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the class is external, its definition
 must contain how the name is made on the first line
 (${name} by default), the other lines are ignored"
      end

      operation 8704 "set_isIdlExternal"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set if the class is external

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 8832 "isIdlLocal"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the class is local, have sense for an interface"
      end

      operation 8960 "set_isIdlLocal"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set if the class is local, have sense for an interface

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 9088 "isIdlCustom"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE is the class is custom, have sense for a valuetype"
      end

      operation 9216 "set_isIdlCustom"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set if the class is custom have sense for aa valuetype

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 9344 "get"
	class_operation public return_type class_ref 7169 // UmlClass
	nparams 2
	  param in name "n" explicit_type "string"
	  param in name "p" type class_ref 9217 // UmlPackage
	    defaultvalue "0"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}const ${t0} & ${p0}, const ${t1} * ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} * ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment "returns the class having the name given in argument in case it
exist, else 0/null. In case the package is specified (not 0/null), 
the returned class will be defined in a sub-level of the package.
"
      end

      operation 9472 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0} = FALSE, ${t1} ${p1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded automatically
 if needed. Recursively done for the sub items if 'rec' is TRUE. 

 if 'del' is true the sub items are deleted in C++, and removed from the
 internal dictionnary in C++ and Java (to allow it to be garbaged),
 you will have to call Children() to re-access to them"
      end

      operation 144256 "set_Name"
	cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the name
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      classrelation 2048 // <dependency>
	relation 2048 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 2048 // <dependency>
	  b parent class_ref 3712 // UmlBaseRelation
      end

      classrelation 2176 // <dependency>
	relation 2176 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 2176 // <dependency>
	  b parent class_ref 2048 // UmlBaseArtifact
      end

      attribute 6272 "_classes"
	class_attribute private type class_ref 7169 // UmlClass
	init_value "(1001)"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}QDict<${type}> ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}Hashtable ${name};"
	idl_decl ""
      end

      extra_member 256 "initialization"
	
	cpp "" ""
	java "  static { _classes = new Hashtable(1001); }
"
	idl ""
      end

      attribute 6400 "_abstract"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 6528 "_cpp_external"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 6656 "_java_external"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 6784 "_java_public"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value} : 1;
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 6912 "_java_final"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value} : 1;
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 7040 "_idl_external"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value} : 1;
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 7168 "_idl_local"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value} : 1;
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 7296 "_idl_custom"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value} : 1;
#endif

"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      classrelation 2304 // _base_type (<directional aggregation by value>)
	relation 2304 *-->
	  a role_name "_base_type" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 2304 // _base_type (<directional aggregation by value>)
	  b parent class_ref 1152 // UmlTypeSpec
      end

      classrelation 2432 // _assoc_diagram (<unidirectional association>)
	relation 2432 --->
	  a role_name "_assoc_diagram" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 2432 // _assoc_diagram (<unidirectional association>)
	  b parent class_ref 7297 // UmlClassDiagram
      end

      classrelation 2560 // _switch_type (<directional aggregation by value>)
	relation 2560 *-->
	  a role_name "_switch_type" multiplicity "" private
	    comment " union"
	    cpp default "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 2560 // _switch_type (<directional aggregation by value>)
	  b parent class_ref 1152 // UmlTypeSpec
	comment " union"
      end

      operation 9600 "UmlBaseClass"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} 
    : UmlClassMember(id, n)${const}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end

      operation 9728 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 9856 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 9984 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 10112 "read_idl_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 10240 "reread_if_needed_"
	protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end
    end

    class 1536 "UmlBaseClassItem"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Mother class of the all the class's items including the class themself"
      classrelation 2688 // <generalisation>
	relation 2688 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 2688 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 10368 "cppDecl"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  return the C++ declaration
"
      end

      operation 10496 "set_CppDecl"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  to set the C++ declaration

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 10624 "javaDecl"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHJAVA
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  return the Java defininition
"
      end

      operation 10752 "set_JavaDecl"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  to set the Java definition

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 10880 "idlDecl"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHIDL
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  return the IDL declaration
"
      end

      operation 11008 "set_IdlDecl"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  set the IDL declaration

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 11136 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} = FALSE, ${t1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
      end

      classrelation 2816 // <dependency>
	relation 2816 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 2816 // <dependency>
	  b parent class_ref 1280 // UmlBaseAttribute
      end

      classrelation 2944 // <dependency>
	relation 2944 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 2944 // <dependency>
	  b parent class_ref 3456 // UmlBaseOperation
      end

      classrelation 3072 // <dependency>
	relation 3072 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 3072 // <dependency>
	  b parent class_ref 3712 // UmlBaseRelation
      end

      attribute 7424 "_cpp_decl"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 7552 "_java_decl"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 7680 "_idl_decl"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      operation 11264 "UmlBaseClassItem"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
      end

      operation 11392 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 11520 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 11648 "read_idl_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      classrelation 3200 // <dependency>
	relation 3200 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 3200 // <dependency>
	  b parent class_ref 1792 // UmlBaseClassMember
      end

      classrelation 3328 // <dependency>
	relation 3328 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 3328 // <dependency>
	  b parent class_ref 3072 // UmlBaseExtraClassMember
      end

      classrelation 3456 // <dependency>
	relation 3456 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 3456 // <dependency>
	  b parent class_ref 1408 // UmlBaseClass
      end
    end

    class 1664 "UmlBaseClassDiagram"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " Manage the class diagrams"
      classrelation 3584 // <generalisation>
	relation 3584 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 3584 // <generalisation>
	  b parent class_ref 8577 // UmlDiagram
      end

      operation 11776 "create"
	class_operation public return_type class_ref 7297 // UmlClassDiagram
	nparams 2
	  param inout name "parent" type class_ref 7681 // UmlClassView
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new class diagram named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 11904 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 12032 "UmlBaseClassDiagram"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlDiagram(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 1792 "UmlBaseClassMember"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " This class manages 'true' class's items : attributes, relation,
 operation and sub-classes"
      classrelation 3712 // <generalisation>
	relation 3712 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 3712 // <generalisation>
	  b parent class_ref 7425 // UmlClassItem
      end

      operation 12160 "isClassMember"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Indicate if the member is a 'class member' (static)
 Always false in case of a class"
      end

      operation 12288 "set_isClassMember"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Set if the member is a 'class member' (static), not significant for a class

 On error return FALSE in C++, produce a RuntimeException in Java,
 does not check that the class is (already) a typedef"
      end

      operation 12416 "isVolatile"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Indicate if the member is 'volatile'
 Always false in case of a class"
      end

      operation 12544 "set_isVolatile"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}

"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Set if the member is 'volatile', not significant for a class

 On error return FALSE in C++, produce a RuntimeException in Java,
 does not check that the class is (already) a typedef"
      end

      operation 12672 "visibility"
	public return_type class_ref 512 // aVisibility
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " The member's visibility"
      end

      operation 12800 "set_Visibility"
	public explicit_return_type "bool"
	nparams 1
	  param in name "v" type class_ref 512 // aVisibility
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Set the member visibility,  DefaultVisibility is not legal

 On error return FALSE in C++, produce a RuntimeException in Java,
 does not check that the class is (already) a typedef"
      end

      operation 12928 "cppVisibility"
	public return_type class_ref 512 // aVisibility
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Special case for C++, thank to the 'friend class X' it may be
 usefull to have a C++ visibility != other visibility
 In case the C++ visibility must follow the other, return
 DefaultVisibility"
      end

      operation 13056 "set_CppVisibility"
	public explicit_return_type "bool"
	nparams 1
	  param in name "v" type class_ref 512 // aVisibility
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Set the visibility for C++, DefaultVisibility is legal

 On error return FALSE in C++, produce a RuntimeException in Java,
 does not check that the class is (already) a typedef"
      end

      attribute 7808 "_class_member"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 7936 "_volatile"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      classrelation 3840 // _visibility (<directional aggregation by value>)
	relation 3840 *-->
	  a role_name "_visibility" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name} : 8${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 3840 // _visibility (<directional aggregation by value>)
	  b parent class_ref 512 // aVisibility
      end

      classrelation 3968 // _cpp_visibility (<directional aggregation by value>)
	relation 3968 *-->
	  a role_name "_cpp_visibility" multiplicity "" private
	    cpp default "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name} : 8${value};
#endif
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 3968 // _cpp_visibility (<directional aggregation by value>)
	  b parent class_ref 512 // aVisibility
      end

      operation 13184 "UmlBaseClassMember"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlClassItem(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
      end

      operation 13312 "read_uml_"
	protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 13440 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      classrelation 4096 // <dependency>
	relation 4096 -_->
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 4096 // <dependency>
	  b parent class_ref 1536 // UmlBaseClassItem
      end

      classrelation 4224 // <dependency>
	relation 4224 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 4224 // <dependency>
	  b parent class_ref 3456 // UmlBaseOperation
      end

      classrelation 4352 // <dependency>
	relation 4352 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 4352 // <dependency>
	  b parent class_ref 1280 // UmlBaseAttribute
      end

      classrelation 4480 // <dependency>
	relation 4480 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 4480 // <dependency>
	  b parent class_ref 3712 // UmlBaseRelation
      end

      classrelation 4608 // <dependency>
	relation 4608 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 4608 // <dependency>
	  b parent class_ref 1408 // UmlBaseClass
      end
    end

    class 1920 "UmlBaseClassView"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " Manage the class views"
      classrelation 4736 // <generalisation>
	relation 4736 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 4736 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 13568 "create"
	class_operation public return_type class_ref 7681 // UmlClassView
	nparams 2
	  param inout name "parent" type class_ref 9217 // UmlPackage
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new class view named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 13696 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 13824 "associatedDeploymentView"
	public return_type class_ref 8449 // UmlDeploymentView
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the optional associated deployment view"
      end

      operation 13952 "set_AssociatedDeploymentView"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "v" type class_ref 8449 // UmlDeploymentView
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the associated deployment view, arg may be null to unset it

 On error return FALSE in C++, produce a RuntimeException in Java
"
      end

      classrelation 4864 // _assoc_view (<unidirectional association>)
	relation 4864 --->
	  a role_name "_assoc_view" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 4864 // _assoc_view (<unidirectional association>)
	  b parent class_ref 8449 // UmlDeploymentView
      end

      operation 14080 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 14208 "UmlBaseClassView"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 2048 "UmlBaseArtifact"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "Manage the artifacts"
      classrelation 4992 // <generalisation>
	relation 4992 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 4992 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 14336 "create"
	class_operation public return_type class_ref 8193 // UmlArtifact
	nparams 2
	  param inout name "parent" type class_ref 8449 // UmlDeploymentView
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new artifact named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 14464 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 14592 "associatedDiagram"
	public return_type class_ref 8321 // UmlDeploymentDiagram
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the optional associated diagram"
      end

      operation 14720 "set_AssociatedDiagram"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "d" type class_ref 8321 // UmlDeploymentDiagram
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the associated diagram, arg may be null to unset it

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 14848 "associatedClasses"
	public return_type class_ref 7169 // UmlClass
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QVector<${type}> & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QVector<${type}> & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns (in Java a copy of) the optional associated classes
 significant when the artifact is stereotyped <<source>>"
      end

      operation 14976 "addAssociatedClass"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "cl" type class_ref 7169 // UmlClass
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " adds 'cl' at the end of the associated classes list, returns false
 if 'cl' is already an associate class.
 significant when the artifact is stereotyped <<source>>

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 15104 "removeAssociatedClass"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "cl" type class_ref 7169 // UmlClass
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " removes an associated class
 significant when the artifact is not stereotyped <<source>>

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 15232 "set_AssociatedClasses"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "l" type class_ref 7169 // UmlClass
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const QVector<${t0}> & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const QVector<${t0}> & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0}[] ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the associated classes list
 significant when the artifact is stereotyped <<source>>

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 15360 "associatedArtifacts"
	public return_type class_ref 8193 // UmlArtifact
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QVector<${type}> & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QVector<${type}> & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns (in Java a copy of) the associated artifacts list
 significant when the artifact is not stereotyped <<source>>"
      end

      operation 15488 "addAssociatedArtifact"
	public explicit_return_type "bool"
	nparams 1
	  param in name "cp" type class_ref 8193 // UmlArtifact
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " adds an associated artifacts, returns false if 'cp' is already
 an associate artifact.
 significant when the artifact is not stereotyped <<source>>

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 15616 "removeAssociatedArtifact"
	public explicit_return_type "bool"
	nparams 1
	  param in name "cp" type class_ref 8193 // UmlArtifact
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " removes an associated artifacts
 significant when the artifact is not stereotyped <<source>>

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 15744 "removeAllAssociatedArtifacts"
	public explicit_return_type "bool"
	nparams 0
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " removes all associated artifacts
 significant when the artifact is not stereotyped <<source>>

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 15872 "cppHeader"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the C++ header file definition"
      end

      operation 16000 "set_CppHeader"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the C++ header file definition
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 16128 "cppSource"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the C++ source file definition"
      end

      operation 16256 "set_CppSource"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the C++ source file definition
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 16384 "javaSource"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHJAVA
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the Java file definition"
      end

      operation 16512 "set_JavaSource"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the Java file definition
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 16640 "idlSource"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHIDL
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the Idl file definition"
      end

      operation 16768 "set_IdlSource"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the Idl file definition
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 16896 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} = FALSE, ${t1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded
 automatically if needed. args unused"
      end

      classrelation 5120 // <dependency>
	relation 5120 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 5120 // <dependency>
	  b parent class_ref 1408 // UmlBaseClass
      end

      classrelation 5248 // _assoc_diagram (<unidirectional association>)
	relation 5248 --->
	  a role_name "_assoc_diagram" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 5248 // _assoc_diagram (<unidirectional association>)
	  b parent class_ref 8321 // UmlDeploymentDiagram
      end

      classrelation 5376 // _assoc_classes (<unidirectional association>)
	relation 5376 --->
	  stereotype "vector"
	  a role_name "_assoc_classes" multiplicity "*" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}QVector<${type}> ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type}[] ${name}${value};"
	    classrelation_ref 5376 // _assoc_classes (<unidirectional association>)
	  b parent class_ref 7169 // UmlClass
      end

      classrelation 5504 // _associated (<unidirectional association>)
	relation 5504 --->
	  stereotype "vector"
	  a role_name "_associated" multiplicity "*" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}QVector<${type}> ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type}[] ${name}${value};
"
	    classrelation_ref 5504 // _associated (<unidirectional association>)
	  b parent class_ref 8193 // UmlArtifact
      end

      attribute 8064 "_cpp_h"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 8192 "_cpp_src"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 8320 "_java_src"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 8448 "_idl_src"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      operation 17024 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 17152 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 17280 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 17408 "read_idl_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 17536 "UmlBaseArtifact"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)};
"
	cpp_def "${inline}${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {
${body}}
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 6528 "UmlBaseComponent"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the components."
      classrelation 14592 // <generalisation>
	relation 14592 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 14592 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 76800 "create"
	class_operation public return_type class_ref 128002 // UmlComponent
	nparams 2
	  param inout name "parent" type class_ref 8065 // UmlComponentView
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new component named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 76928 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 77056 "associatedDiagram"
	public return_type class_ref 7937 // UmlComponentDiagram
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the optional associated diagram"
      end

      operation 77184 "set_AssociatedDiagram"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "d" type class_ref 7937 // UmlComponentDiagram
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the associated diagram, arg may be null to unset it

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 78080 "realizedClasses"
	public return_type class_ref 7169 // UmlClass
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QVector<${type}> & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QVector<${type}> & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns (in Java a copy of) the optional realized classes"
      end

      operation 78208 "providedClasses"
	public return_type class_ref 7169 // UmlClass
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QVector<${type}> & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QVector<${type}> & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns (in Java a copy of) the optional provided classes"
      end

      operation 78336 "requiredClasses"
	public return_type class_ref 7169 // UmlClass
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QVector<${type}> & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QVector<${type}> & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns (in Java a copy of) the optional required classes"
      end

      operation 77824 "set_AssociatedClasses"
	public explicit_return_type "bool"
	nparams 3
	  param inout name "realized" type class_ref 7169 // UmlClass
	  param inout name "provided" type class_ref 7169 // UmlClass
	  param inout name "required" type class_ref 7169 // UmlClass
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const QVector<${t0}> & ${p0}, const QVector<${t1}> & ${p1}, const QVector<${t2}> & ${p2}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const QVector<${t0}> & ${p0}, const QVector<${t1}> & ${p1}, const QVector<${t2}> & ${p2}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0}[] ${p0}, ${t1}[] ${p1}, ${t2}[] ${p2}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the realized, provided and required classes lists

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 77696 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} = FALSE, ${t1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded
 automatically if needed. args unused"
      end

      classrelation 14720 // _assoc_diagram (<unidirectional association>)
	relation 14720 --->
	  a role_name "_assoc_diagram" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 14720 // _assoc_diagram (<unidirectional association>)
	  b parent class_ref 7937 // UmlComponentDiagram
      end

      classrelation 14848 // _realized (<unidirectional association>)
	relation 14848 --->
	  stereotype "vector"
	  a role_name "_realized" multiplicity "*" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}QVector<${type}> ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type}[] ${name}${value};"
	    classrelation_ref 14848 // _realized (<unidirectional association>)
	  b parent class_ref 7169 // UmlClass
      end

      classrelation 15232 // _provided (<unidirectional association>)
	relation 15232 --->
	  stereotype "vector"
	  a role_name "_provided" multiplicity "*" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}QVector<${type}> ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type}[] ${name}${value};"
	    classrelation_ref 15232 // _provided (<unidirectional association>)
	  b parent class_ref 7169 // UmlClass
      end

      classrelation 15360 // _required (<unidirectional association>)
	relation 15360 --->
	  stereotype "vector"
	  a role_name "_required" multiplicity "*" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}QVector<${type}> ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type}[] ${name}${value};"
	    classrelation_ref 15360 // _required (<unidirectional association>)
	  b parent class_ref 7169 // UmlClass
      end

      operation 77312 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 77440 "UmlBaseComponent"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)};
"
	cpp_def "${inline}${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {
${body}}
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 2176 "UmlBaseCollaborationDiagram"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the collaboration diagrams"
      classrelation 5632 // <generalisation>
	relation 5632 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 5632 // <generalisation>
	  b parent class_ref 8577 // UmlDiagram
      end

      operation 17664 "create"
	class_operation public return_type class_ref 7809 // UmlCollaborationDiagram
	nparams 2
	  param inout name "parent" type class_ref 8833 // UmlItem
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new collaboration diagram named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 17792 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 17920 "UmlBaseCollaborationDiagram"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlDiagram(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 2304 "UmlBaseComponentDiagram"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the component diagrams"
      classrelation 5760 // <generalisation>
	relation 5760 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 5760 // <generalisation>
	  b parent class_ref 8577 // UmlDiagram
      end

      operation 18048 "create"
	class_operation public return_type class_ref 7937 // UmlComponentDiagram
	nparams 2
	  param inout name "parent" type class_ref 8065 // UmlComponentView
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new component diagram named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 18176 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 18304 "UmlBaseComponentDiagram"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlDiagram(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 2432 "UmlBaseComponentView"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the component views"
      classrelation 5888 // <generalisation>
	relation 5888 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 5888 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 18432 "create"
	class_operation public return_type class_ref 8065 // UmlComponentView
	nparams 2
	  param inout name "parent" type class_ref 9217 // UmlPackage
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new component view named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 18560 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 18688 "UmlBaseComponentView"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 2560 "UmlBaseDeploymentDiagram"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the deployment diagrams"
      classrelation 6016 // <generalisation>
	relation 6016 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 6016 // <generalisation>
	  b parent class_ref 8577 // UmlDiagram
      end

      operation 18816 "create"
	class_operation public return_type class_ref 8321 // UmlDeploymentDiagram
	nparams 2
	  param inout name "parent" type class_ref 8449 // UmlDeploymentView
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new deployment diagram named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 18944 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 19072 "UmlBaseDeploymentDiagram"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlDiagram(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 2688 "UmlBaseDeploymentView"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the deployment views"
      classrelation 6144 // <generalisation>
	relation 6144 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 6144 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 19200 "create"
	class_operation public return_type class_ref 8449 // UmlDeploymentView
	nparams 2
	  param inout name "parent" type class_ref 9217 // UmlPackage
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new deployment view named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 19328 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 19456 "UmlBaseDeploymentView"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 2816 "UmlBaseDeployment"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the deployments"
      classrelation 6272 // <generalisation>
	relation 6272 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 6272 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 19584 "UmlBaseDeployment"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${volatile} : UmlItem(id, n){};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
      end
    end

    class 2944 "UmlBaseDiagram"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Mother class of all the classes managing the diagrams"
      classrelation 6400 // <generalisation>
	relation 6400 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 6400 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 19712 "saveIn"
	const public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " saves the diagram picture in the file whose pathname is given
 in argument, the produced file is a PNG file.
 The aspect of the diagram is :
 - its visible part in case it is open
 - the aspect specified by its prefered size and scale in case
   these last are specified (see menu on a diagram view)
 - else the default diagram aspect, which is probably not as you want

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 19840 "UmlBaseDiagram"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 3072 "UmlBaseExtraClassMember"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " Manage the 'extra' class members to produce any code, for instance a C++ pre-processing form or a Java initialization
"
      classrelation 6528 // <generalisation>
	relation 6528 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 6528 // <generalisation>
	  b parent class_ref 7425 // UmlClassItem
      end

      operation 19968 "create"
	class_operation public return_type class_ref 8705 // UmlExtraClassMember
	nparams 2
	  param inout name "parent" type class_ref 7169 // UmlClass
	  param in name "name" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new extra class member named 'name'  (the name may be empty)
 created under the class 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 20096 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 20224 "isCppInline"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the extra member is managed as an inline operation in C++
"
      end

      operation 20352 "set_isCppInline"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set if the extra member is managed as an inline operation in C++
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 20480 "cppDef"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the operation's definition in C++, notes that the declaration
 is returned by the inherited ClassItemBase::CppDecl() operation"
      end

      operation 20608 "set_CppDef"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the operation's definition in C++, notes that the declaration
 is set through the inherited ClassItemBase::set_CppDecl() operation

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 20736 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} = FALSE, ${t1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded
 automatically if needed. args unused"
      end

      attribute 8576 "_cpp_inline"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};

"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 8704 "_cpp_def"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      operation 20864 "UmlBaseExtraClassMember"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlClassItem(${p0}, ${p1}) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end

      operation 20992 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end
    end

    class 3200 "UmlBaseItem"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " Base class of all the classes representing browser's objects.

 In the API all for each 'system' class exists a 'user' class
 under your responsability which inherits the 'system' class.

 You do not have to change the 'system' classes, place your
 attributes and operations in the corresponding 'user' classes :
 all the instances made by the 'system' classes are instance of
 the corresponding 'user' classes.

 You must never create or delete yourself a class of the API,
 use the Create operation defined in the 'system' classes.

 To not allow you to access to the 'system' attributes or to
 call 'system' internal operations even by error, the 'system' internal
 parts are declared 'private' rather than 'public' or 'protected'."
      operation 21120 "kind"
	abstract cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 21248 "name"
	cpp_inline public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract} { return _name; };
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{ return _name; }
"
	
	comment " returns the name"
      end

      operation 21376 "set_Name"
	cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the name
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 21504 "stereotype"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the stereotype"
      end

      operation 21632 "set_Stereotype"
	cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the stereotype
  On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 21760 "description"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the description"
      end

      operation 21888 "set_Description"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the description
  On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 22016 "parent"
	public return_type class_ref 8833 // UmlItem
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the parent (0/null if it is applied on the project itself),
 to go all over the browser tree"
      end

      operation 22144 "children"
	public return_type class_ref 8833 // UmlItem
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QVector<${type}> ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QVector<${type}> ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns (in Java : a copy of) the children list, to go all over the browser tree"
      end

      operation 22272 "childrenVisible"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return TRUE if the children exist and are visible (independently
 of the scroll bar) in the browser, else FALSE"
      end

      operation 22400 "set_childrenVisible"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " open the item in the browser (its children are visible) if y is TRUE,
 else close it (its children are not visible). May be applied on items
 without children. The item is also selected in the browser, so 
 set_ChildrenVisible(childrenVisible()) is the right way to select the item
 in the browser.

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 22528 "propertyValue"
	public explicit_return_type "string"
	nparams 2
	  param in name "k" explicit_type "string"
	  param inout name "v" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}bool ${name}${(}const ${t0} & ${p0}, ${t1} & ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}bool ${class}::${name}${(}const ${t0} & ${p0}, ${t1} & ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " In C++, in case the key specified by 'k' exist for the current
 object, the string 'v' is modified which the associated value
 and TRUE is returned, else returns FALSE.

 In Java return the value associated with the key specified by 'k'
 for the current object, null in case the property doesn't
 exist.

 These properties may be edited through the object dialog last tab
 named 'user'"
      end

      operation 22656 "set_PropertyValue"
	public explicit_return_type "bool"
	nparams 2
	  param in name "k" explicit_type "string"
	  param in name "v" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set (may be insert a new) the value 'v' associated to the key 'k'
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 22784 "properties"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QDict<${type}> ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QDict<${type}> ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}Hashtable ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns all the properties of the object through (in Java a copy of) a dictionnary
"
      end

      operation 144384 "moveAfter"
	public explicit_return_type "bool"
	nparams 1
	  param in name "x" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " If the parameter is null, move the current item to be
 the first child of its parent. Else the current item and
 the parameter must have the same parent, the current item
 is moved to be just after the parameter.
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 22912 "supportFile"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  Returns the absolute path name of the file memoring the Item.
  In general an item is saved in a file associated to its package,
  the exceptions are :

  - the body of the operations of a class which definition contains the
     keyword '{$body}'. This path name is returned when you apply
     supportFile on any operation of the class.

  - the drawing of the diagrams, this path name is returned when
     you apply supportFile on the diagram.

  - the configuration of the tools edited throw the entry 'Tools Settings' of
     the menu Tools is saved in the file 'tools'

  - the configuration of the '#include' and 'using' forms associated to the
    external type and edited through the last C++ tab of the
    'Generation Settings' dialog is saved in the file 'cpp_includes'

  - the configuration of the 'imports' forms associated to the external
    types and edited through the last Java tab of the 'Generation Settings'
    dialog is saved in the file 'java_imports'

  - the configuration of the '#include' forms associated to the
    external type and edited through the last Idl tab of the
    'Generation Settings' dialog is saved in the file 'idl_includes'
 "
      end

      operation 23040 "isWritable"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return TRUE in case the item may be modified, i.e. it is not
 an API base 'plug-out' class and the corresponding file(s) are not
 read-only."
      end

      operation 23168 "apply"
	public explicit_return_type "int"
	nparams 1
	  param in name "cmd" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  Apply asynchronously the tool on the item, returns an identifier to call isToolDone()"
      end

      operation 23296 "isMarked"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "return TRUE in case the item is marked"
      end

      operation 23424 "set_isMarked"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  to mark/unmark the current item. The project cannot marked
  On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 23552 "referencedBy"
	public return_type class_ref 8833 // UmlItem
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QVector<${type}> ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QVector<${type}> ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  Returns the items referencing the current one.
  The result may contains UmlAttribute, UmlRelations, UmlNcRelations,
  UmlOperation (their bodies are not taken into account) , UmlClass
  and UmlComponents."
      end

      operation 23680 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0} = FALSE, ${t1} ${p1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded automatically
 if needed. Recursively done for the sub items if 'rec' is TRUE. 

 if 'del' is true the sub items are deleted in C++, and removed from the
 internal dictionnary in C++ and Java (to allow it to be garbaged),
 you will have to call Children() to re-access to them"
      end

      operation 23808 "isToolRunning"
	class_operation public explicit_return_type "bool"
	nparams 1
	  param in name "id" explicit_type "int"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  'id' is an identifier returned by apply(), indicates if the tool is still running"
      end

      operation 23936 "markedItems"
	class_operation public return_type class_ref 8833 // UmlItem
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QVector<${type}> ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QVector<${type}> ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      extra_member 384 "remark"
	
	cpp "" ""
	java "
/**
 * Do NOT use the next definitions
 */
"
	idl ""
      end

      classrelation 6656 // <dependency>
	relation 6656 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 6656 // <dependency>
	  b parent class_ref 1536 // UmlBaseClassItem
      end

      classrelation 6784 // <dependency>
	relation 6784 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 6784 // <dependency>
	  b parent class_ref 1280 // UmlBaseAttribute
      end

      classrelation 6912 // <dependency>
	relation 6912 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 6912 // <dependency>
	  b parent class_ref 1408 // UmlBaseClass
      end

      classrelation 7040 // <dependency>
	relation 7040 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 7040 // <dependency>
	  b parent class_ref 1664 // UmlBaseClassDiagram
      end

      classrelation 7168 // <dependency>
	relation 7168 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 7168 // <dependency>
	  b parent class_ref 1920 // UmlBaseClassView
      end

      classrelation 7296 // <dependency>
	relation 7296 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 7296 // <dependency>
	  b parent class_ref 2176 // UmlBaseCollaborationDiagram
      end

      classrelation 7424 // <dependency>
	relation 7424 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 7424 // <dependency>
	  b parent class_ref 2048 // UmlBaseArtifact
      end

      classrelation 7552 // <dependency>
	relation 7552 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 7552 // <dependency>
	  b parent class_ref 2304 // UmlBaseComponentDiagram
      end

      classrelation 7680 // <dependency>
	relation 7680 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 7680 // <dependency>
	  b parent class_ref 2432 // UmlBaseComponentView
      end

      classrelation 7808 // <dependency>
	relation 7808 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 7808 // <dependency>
	  b parent class_ref 2816 // UmlBaseDeployment
      end

      classrelation 7936 // <dependency>
	relation 7936 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 7936 // <dependency>
	  b parent class_ref 2560 // UmlBaseDeploymentDiagram
      end

      classrelation 8064 // <dependency>
	relation 8064 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 8064 // <dependency>
	  b parent class_ref 2688 // UmlBaseDeploymentView
      end

      classrelation 8192 // <dependency>
	relation 8192 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 8192 // <dependency>
	  b parent class_ref 3328 // UmlBaseNode
      end

      classrelation 8320 // <dependency>
	relation 8320 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 8320 // <dependency>
	  b parent class_ref 3456 // UmlBaseOperation
      end

      classrelation 8448 // <dependency>
	relation 8448 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 8448 // <dependency>
	  b parent class_ref 3584 // UmlBasePackage
      end

      classrelation 8576 // <dependency>
	relation 8576 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 8576 // <dependency>
	  b parent class_ref 3712 // UmlBaseRelation
      end

      classrelation 8704 // <dependency>
	relation 8704 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 8704 // <dependency>
	  b parent class_ref 3840 // UmlBaseNcRelation
      end

      classrelation 8832 // <dependency>
	relation 8832 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 8832 // <dependency>
	  b parent class_ref 3968 // UmlBaseSequenceDiagram
      end

      classrelation 8960 // <dependency>
	relation 8960 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 8960 // <dependency>
	  b parent class_ref 4096 // UmlBaseUseCase
      end

      classrelation 9088 // <dependency>
	relation 9088 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 9088 // <dependency>
	  b parent class_ref 4224 // UmlBaseUseCaseDiagram
      end

      classrelation 9216 // <dependency>
	relation 9216 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 9216 // <dependency>
	  b parent class_ref 4352 // UmlBaseUseCaseView
      end

      classrelation 9344 // <dependency>
	relation 9344 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 9344 // <dependency>
	  b parent class_ref 2944 // UmlBaseDiagram
      end

      classrelation 9472 // <dependency>
	relation 9472 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 9472 // <dependency>
	  b parent class_ref 1024 // UmlBaseFormalParameter
      end

      classrelation 9600 // <dependency>
	relation 9600 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 9600 // <dependency>
	  b parent class_ref 896 // UmlBaseActualParameter
      end

      classrelation 9728 // <dependency>
	relation 9728 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 9728 // <dependency>
	  b parent class_ref 5248 // UmlCom
      end

      classrelation 9856 // <dependency>
	relation 9856 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 9856 // <dependency>
	  b parent class_ref 1792 // UmlBaseClassMember
      end

      classrelation 9984 // <dependency>
	relation 9984 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 9984 // <dependency>
	  b parent class_ref 3072 // UmlBaseExtraClassMember
      end

      classrelation 15488 // <dependency>
	relation 15488 -_->
	  stereotype "friend"
	  a protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 15488 // <dependency>
	  b parent class_ref 6528 // UmlBaseComponent
      end

      attribute 8832 "_defined"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 8960 "_marked"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 9088 "_identifier"
	private explicit_type "void"
	cpp_visibility private cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}long ${name}${value};"
	idl_decl ""
      end

      attribute 9216 "_name"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 9344 "_stereotype"
	protected explicit_type "string"
	cpp_visibility private cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
	comment "  Note : protected in Java for internal reason, but do NOT
  access to this field yourself !"
      end

      attribute 9472 "_description"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      classrelation 10112 // _parent (<unidirectional association>)
	relation 10112 --->
	  a role_name "_parent" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 10112 // _parent (<unidirectional association>)
	  b parent class_ref 8833 // UmlItem
      end

      attribute 9600 "_children"
	private type class_ref 8833 // UmlItem
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}QVector<${type}> * ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type}[] ${name}${value};"
	idl_decl ""
      end

      attribute 9728 "_dict"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}QDict<${type}> ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}Hashtable ${name}${value};"
	idl_decl ""
      end

      attribute 9856 "_all"
	class_attribute private type class_ref 8833 // UmlItem
	init_value "(997)"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}QPtrDict<${type}> ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}Hashtable ${name};"
	idl_decl ""
      end

      extra_member 512 "initialization"
	
	cpp "" ""
	java "static { _all = new Hashtable(997); }"
	idl ""
      end

      operation 24064 "read_if_needed_"
	protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	final java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 24192 "create_"
	protected return_type class_ref 8833 // UmlItem
	nparams 2
	  param in name "k" explicit_type "anItemKind"
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	final java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 24320 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 24448 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 24576 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 24704 "read_idl_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 24832 "read_children_"
	protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	final java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 24960 "reread_children_if_needed_"
	protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	final java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 25088 "set_it_"
	protected explicit_return_type "bool"
	nparams 3
	  param inout name "r" explicit_type "bool"
	  param in name "v" explicit_type "bool"
	  param in name "cmd" explicit_type "OnInstanceCmd"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${staticnl}{
${body}}
"
	
	
	comment "internal, do NOT use it
"
      end

      operation 25216 "set_it_"
	protected explicit_return_type "bool"
	nparams 3
	  param inout name "r" type class_ref 512 // aVisibility
	  param in name "v" type class_ref 512 // aVisibility
	  param in name "cmd" explicit_type "OnInstanceCmd"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${staticnl}{
${body}}
"
	
	
	comment "internal, do NOT use it
"
      end

      operation 25344 "set_it_"
	protected explicit_return_type "bool"
	nparams 3
	  param inout name "r" type class_ref 384 // aDirection
	  param in name "v" type class_ref 384 // aDirection
	  param in name "cmd" explicit_type "OnInstanceCmd"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} & ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${staticnl}{
${body}}
"
	
	
	comment "internal, do NOT use it
"
      end

      operation 25472 "set_it_"
	protected explicit_return_type "bool"
	nparams 3
	  param inout name "r" explicit_type "string"
	  param in name "v" explicit_type "str"
	  param in name "cmd" explicit_type "OnInstanceCmd"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} & ${p0}, const ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} & ${p0}, const ${t1} ${p1}, ${t2} ${p2}${)}${const}${volatile}${staticnl}{
${body}}
"
	
	
	comment "internal, do NOT use it
"
      end

      operation 25600 "set_it_"
	protected explicit_return_type "bool"
	nparams 3
	  param inout name "r" type class_ref 1152 // UmlTypeSpec
	  param in name "t" type class_ref 1152 // UmlTypeSpec
	  param in name "cmd" explicit_type "OnInstanceCmd"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} & ${p0}, const ${t1} & ${p1}, ${t2} ${p2}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} & ${p0}, const ${t1} & ${p1}, ${t2} ${p2}${)}${const}${volatile}${staticnl}{
${body}}
"
	
	
	comment "internal, do NOT use it
"
      end

      operation 25728 "read_"
	class_operation protected return_type class_ref 8833 // UmlItem
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 25856 "UmlBaseItem"
	public explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}
    : _defined(FALSE), _identifier(id), _name(n), _parent(0), _children(0) ${const}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}long ${p0}, ${t1} ${p1}${)}${throws} {
${body}}
"
	
	comment " the constructor, do not call it yourself !"
      end

      operation 25984 "~UmlBaseItem"
	cpp_virtual public explicit_return_type ""
	nparams 0
	cpp_decl "    ${comment}${virtual}${name}${(}${)};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	
	
	comment " the destructor, do not delete objects yourself !!!!!!!!!!"
      end

      operation 26112 "identifier_"
	public explicit_return_type "long"
	nparams 0
	
	final java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{ return _identifier; }
"
	
	comment "internal, do NOT use it
"
      end

      operation 26240 "defined_"
	public explicit_return_type "bool"
	nparams 0
	
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{ return _defined; }
"
	
	comment "internal, do NOT use it
"
      end

      classrelation 128384 // <dependency>
	relation 128384 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 128384 // <dependency>
	  b parent class_ref 128256 // UmlBaseState
      end

      classrelation 128896 // <dependency>
	relation 128896 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 128896 // <dependency>
	  b parent class_ref 128512 // UmlBaseStateDiagram
      end

      classrelation 129920 // <dependency>
	relation 129920 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 129920 // <dependency>
	  b parent class_ref 128896 // UmlBaseTransition
      end

      classrelation 130944 // <dependency>
	relation 130944 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 130944 // <dependency>
	  b parent class_ref 129280 // UmlBaseRegion
      end

      classrelation 131456 // <dependency>
	relation 131456 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 131456 // <dependency>
	  b parent class_ref 129536 // UmlBaseStateAction
      end

      classrelation 132224 // <dependency>
	relation 132224 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 132224 // <dependency>
	  b parent class_ref 129920 // UmlBaseInitialPseudoState
      end

      classrelation 132608 // <dependency>
	relation 132608 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 132608 // <dependency>
	  b parent class_ref 130176 // UmlBaseEntryPointPseudoState
      end

      classrelation 132992 // <dependency>
	relation 132992 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 132992 // <dependency>
	  b parent class_ref 130432 // UmlBaseFinalState
      end

      classrelation 133376 // <dependency>
	relation 133376 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 133376 // <dependency>
	  b parent class_ref 130688 // UmlBaseTerminatePseudoState
      end

      classrelation 133760 // <dependency>
	relation 133760 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 133760 // <dependency>
	  b parent class_ref 130944 // UmlBaseExitPointPseudoState
      end

      classrelation 134144 // <dependency>
	relation 134144 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 134144 // <dependency>
	  b parent class_ref 131200 // UmlBaseDeepHistoryPseudoState
      end

      classrelation 134528 // <dependency>
	relation 134528 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 134528 // <dependency>
	  b parent class_ref 131456 // UmlBaseShallowHistoryPseudoState
      end

      classrelation 134912 // <dependency>
	relation 134912 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 134912 // <dependency>
	  b parent class_ref 131712 // UmlBaseJunctionPseudoState
      end

      classrelation 135296 // <dependency>
	relation 135296 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 135296 // <dependency>
	  b parent class_ref 131968 // UmlBaseChoicePseudoState
      end

      classrelation 135680 // <dependency>
	relation 135680 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 135680 // <dependency>
	  b parent class_ref 132224 // UmlBaseForkPseudoState
      end

      classrelation 136064 // <dependency>
	relation 136064 -_->
	  stereotype "friend"
	  a protected
	    cpp default "Generated"
	    classrelation_ref 136064 // <dependency>
	  b parent class_ref 132480 // UmlBaseJoinPseudoState
      end
    end

    class 3328 "UmlBaseNode"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the nodes"
      classrelation 10240 // <generalisation>
	relation 10240 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 10240 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 26368 "create"
	class_operation public return_type class_ref 8961 // UmlNode
	nparams 2
	  param inout name "parent" type class_ref 8833 // UmlItem
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new node named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 26496 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 26624 "associatedDiagram"
	public return_type class_ref 8321 // UmlDeploymentDiagram
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the optional associated diagram"
      end

      operation 26752 "set_AssociatedDiagram"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "d" type class_ref 8321 // UmlDeploymentDiagram
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the associated diagram, arg may be null to unset it

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      classrelation 10368 // _assoc_diagram (<unidirectional association>)
	relation 10368 --->
	  a role_name "_assoc_diagram" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 10368 // _assoc_diagram (<unidirectional association>)
	  b parent class_ref 8321 // UmlDeploymentDiagram
      end

      operation 26880 "UmlBaseNode"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end

      operation 27008 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end
    end

    class 3456 "UmlBaseOperation"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the class's operations"
      classrelation 10496 // <generalisation>
	relation 10496 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 10496 // <generalisation>
	  b parent class_ref 7553 // UmlClassMember
      end

      operation 27136 "create"
	class_operation public return_type class_ref 9089 // UmlOperation
	nparams 2
	  param inout name "parent" type class_ref 7169 // UmlClass
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new operation named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 27264 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 27392 "isAbstract"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " indicates if the operation is abstract, returns TRUE if yes"
      end

      operation 27520 "set_isAbstract"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the 'abstract' flag
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 27648 "returnType"
	public return_type class_ref 1152 // UmlTypeSpec
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the operation value type"
      end

      operation 27776 "set_ReturnType"
	public explicit_return_type "bool"
	nparams 1
	  param in name "t" type class_ref 1152 // UmlTypeSpec
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the operation value type
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 27904 "params"
	public return_type class_ref 768 // UmlParameter
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QValueList<${type}> ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QValueList<${type}> ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns (in java a copy of) the parameters list"
      end

      operation 28032 "addParameter"
	public explicit_return_type "bool"
	nparams 2
	  param in name "rank" explicit_type "unsigned"
	  param in name "p" type class_ref 768 // UmlParameter
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " adds a parameter at the given rank (0...)

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 28160 "removeParameter"
	public explicit_return_type "bool"
	nparams 1
	  param in name "rank" explicit_type "unsigned"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " remove the parameter of the given rank (0...)

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 28288 "replaceParameter"
	public explicit_return_type "bool"
	nparams 2
	  param in name "rank" explicit_type "unsigned"
	  param in name "p" type class_ref 768 // UmlParameter
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " replace the parameter at the given rank (0...)

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 28416 "exceptions"
	public return_type class_ref 1152 // UmlTypeSpec
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const QValueList<${type}> ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const QValueList<${type}> ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type}[] ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the exceptions"
      end

      operation 28544 "addException"
	public explicit_return_type "bool"
	nparams 2
	  param in name "rank" explicit_type "unsigned"
	  param in name "t" type class_ref 1152 // UmlTypeSpec
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " adds the exception at the given rank (0...)

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 28672 "removeException"
	public explicit_return_type "bool"
	nparams 1
	  param in name "rank" explicit_type "unsigned"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " remove the exception of the given rank (0...)

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 28800 "replaceException"
	public explicit_return_type "bool"
	nparams 2
	  param in name "rank" explicit_type "unsigned"
	  param in name "t" type class_ref 1152 // UmlTypeSpec
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " replaces the exception at the given rank (0...)

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 28928 "getOf"
	public return_type class_ref 7553 // UmlClassMember
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " in case the operation is a 'get' operation, returns the associated
 attribute or relation"
      end

      operation 29056 "setOf"
	public return_type class_ref 7553 // UmlClassMember
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " in case the operation is a 'set' operation, returns the associated
 attribute or relation"
      end

      operation 29184 "isCppConst"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the operation is declared const in C++"
      end

      operation 29312 "set_isCppConst"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set if the operation is declared const in C++
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 29440 "isCppFriend"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the operation is a friend in C++"
      end

      operation 29568 "set_isCppFriend"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set if the operation is a friend in C++
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 29696 "isCppVirtual"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the operation is declared virtual in C++"
      end

      operation 29824 "set_isCppVirtual"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set if the operation is declared virtual in C++
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 29952 "isCppInline"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the operation is declared inline in C++"
      end

      operation 30080 "set_isCppInline"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set if the operation is declared inline in C++
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 30208 "cppDef"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the operation's definition in C++, notes that the declaration
 is returned by the inherited ClassItemBase::CppDecl() operation"
      end

      operation 30336 "set_CppDef"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the operation's definition in C++, notes that the declaration
 is set through the inherited ClassItemBase::set_CppDecl() operation

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 30464 "cppBody"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the operation's body in C++, useless if the def does not
 contains ${body}. Note that the body is get each time from BOUML
 for memory size reason"
      end

      operation 30592 "set_CppBody"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the operation's body in C++, useless if the def does not 
 contains ${body}

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 30720 "cppNameSpec"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " in case the operation is a 'get' or 'set' operation, returns how
 the operation's C++ name must be generated"
      end

      operation 30848 "set_CppNameSpec"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " in case the operation is a 'get' or 'set' operation, returns how
 the operation's C++ name must be generated
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 30976 "isJavaFinal"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the operation is declared final in JAVA"
      end

      operation 31104 "set_isJavaFinal"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set if the operation is declared final in JAVA
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 31232 "isJavaSynchronized"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the operation is declared synchronized in JAVA"
      end

      operation 31360 "set_isJavaSynchronized"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set if the operation is declared synchronized in JAVA
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 31488 "javaDef"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the operation's definition in Java, notes that it is
 already made by the inherited JavaDecl operation"
      end

      operation 31616 "set_JavaDef"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the operation's definition in Java, notes that it is
 already made by the inherited set_JavaDecl operation

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 31744 "javaBody"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the operation's body in Java++, useless if the def does
 not contains ${body} Note that the body is get each time from BOUML
 for memory size reason"
      end

      operation 31872 "set_JavaBody"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the operation's body in Java, useless if the def does not 
 contains ${body}

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 32000 "javaNameSpec"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " in case the operation is a 'get' or 'set' operation, returns how
 the operation's JAVA name must be generated"
      end

      operation 32128 "set_JavaNameSpec"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " in case the operation is a 'get' or 'set' operation, returns how
 the operation's JAVA name must be generated
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 32256 "isIdlOneway"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns TRUE if the operation is declared oneway in IDL"
      end

      operation 32384 "set_isIdlOneway"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set if the operation is declared oneway in IDL

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 32512 "idlNameSpec"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " in case the operation is a 'get' or 'set' operation, returns how
 the operation's IDL name must be generated"
      end

      operation 32640 "set_IdlNameSpec"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " in case the operation is a 'get' or 'set' operation, returns how
 the operation's IDL name must be generated
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 32768 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} = FALSE, ${t1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded
 automatically if needed. args unused"
      end

      attribute 9984 "_abstract"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 10112 "_cpp_const"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 10240 "_cpp_friend"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 10368 "_cpp_virtual"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 10496 "_cpp_inline"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 10624 "_java_final"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 10752 "_java_synchronized"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 10880 "_idl_oneway"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      classrelation 10624 // _return_type (<directional aggregation by value>)
	relation 10624 *-->
	  a role_name "_return_type" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 10624 // _return_type (<directional aggregation by value>)
	  b parent class_ref 1152 // UmlTypeSpec
      end

      classrelation 10752 // _params (<unidirectional association>)
	relation 10752 --->
	  stereotype "list"
	  a role_name "_params" multiplicity "*" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}QValueList<${type}> ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
"
	    classrelation_ref 10752 // _params (<unidirectional association>)
	  b parent class_ref 768 // UmlParameter
      end

      classrelation 10880 // _exceptions (<unidirectional association>)
	relation 10880 --->
	  stereotype "list"
	  a role_name "_exceptions" multiplicity "*" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}QValueList<${type}> ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
"
	    classrelation_ref 10880 // _exceptions (<unidirectional association>)
	  b parent class_ref 1152 // UmlTypeSpec
      end

      attribute 11008 "_cpp_def"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 11136 "_cpp_name_spec"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 11264 "_java_name_spec"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 11392 "_idl_name_spec"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      classrelation 11008 // _get_of (<unidirectional association>)
	relation 11008 --->
	  a role_name "_get_of" multiplicity "" private
	    comment " exclusive with set_of"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 11008 // _get_of (<unidirectional association>)
	  b parent class_ref 7553 // UmlClassMember
      end

      classrelation 11136 // _set_of (<unidirectional association>)
	relation 11136 --->
	  a role_name "_set_of" multiplicity "" private
	    comment " exclusive with get_of"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 11136 // _set_of (<unidirectional association>)
	  b parent class_ref 7553 // UmlClassMember
      end

      operation 32896 "UmlBaseOperation"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)};
"
	cpp_def "${inline}${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlClassMember(id, n) {
${body}}
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end

      operation 33024 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 33152 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 33280 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 33408 "read_idl_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end
    end

    class 3584 "UmlBasePackage"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the packages"
      classrelation 11264 // <generalisation>
	relation 11264 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 11264 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 33536 "create"
	class_operation public return_type class_ref 9217 // UmlPackage
	nparams 2
	  param inout name "parent" type class_ref 9217 // UmlPackage
	  param in name "name" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new package named 'name' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 33664 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 33792 "associatedDiagram"
	public return_type class_ref 7297 // UmlClassDiagram
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the optional associated diagram"
      end

      operation 33920 "set_AssociatedDiagram"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "d" type class_ref 7297 // UmlClassDiagram
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the associated diagram, arg may be null to unset it

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 34048 "cppSrcDir"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the path where the C++ source files are generated by the
 c++ generator."
      end

      operation 34176 "set_CppSrcDir"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the path where the C++ source files are generated by the
 C++ generator, may be relative even the 'root' path is not
 (already) an absolute path
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 34304 "cppHDir"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the path where the C++ header files are generated by the
 C++ generator."
      end

      operation 34432 "set_CppHDir"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the path where the C++ header files are generated by the
 C++ generator, may be relative even the 'root' path is not
 (already) an absolute path
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 34560 "cppNamespace"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "returns the namespace name associed to the package"
      end

      operation 34688 "set_CppNamespace"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment "to set the namespace name associed to the package.
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 34816 "findNamespace"
	const public return_type class_ref 9217 // UmlPackage
	nparams 1
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a sub package of the current one having the c++ namespace 'n'
 (including the current one), else 0/null"
      end

      operation 34944 "javaDir"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHJAVA
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the path where the JAVA files are generated by the
 JAVA generator."
      end

      operation 35072 "set_JavaDir"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the path where the JAVA files are generated by the
 JAVA generator, may be relative even the 'root' path is not
 (already) an absolute path
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 35200 "javaPackage"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "returns the java package name associed to the package"
      end

      operation 35328 "set_JavaPackage"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the java package name associed to the package.
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 35456 "findPackage"
	const public return_type class_ref 9217 // UmlPackage
	nparams 1
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a sub package of the current one having the Java package 'n'
 (including the current one), else 0/null"
      end

      operation 35584 "idlDir"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHIDL
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the path where the IDL files are generated by the
 IDL generator."
      end

      operation 35712 "set_IdlDir"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the path where the IDL files are generated by the
 IDL generator, may be relative even the 'root' path is not
 (already) an absolute path
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 35840 "idlModule"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "returns the module name associed to the package"
      end

      operation 35968 "set_IdlModule"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the module name associed to the package.
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 36096 "findModule"
	const public return_type class_ref 9217 // UmlPackage
	nparams 1
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} * ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a sub package of the current one having the IDL module 'n'
 (including the current one), else 0/null"
      end

      operation 36224 "getProject"
	class_operation public return_type class_ref 9217 // UmlPackage
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  Returns the project"
      end

      operation 36352 "isProjectModified"
	class_operation public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "return TRUE in case something is modified (i.e. the project must be saved)
"
      end

      operation 36480 "saveProject"
	class_operation public explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "save the project if needed"
      end

      operation 36608 "loadProject"
	class_operation public explicit_return_type "void"
	nparams 1
	  param inout name "p" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment "Does nothing in case an edition is on going under BOUML. Else :
close the current project (in case it is not saved the last modifications are lost),
load the specified one, and all the communications with the plug-outs including the
current one are closed.
"
      end

      operation 36736 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0} = FALSE, ${t1} ${p1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded automatically
 if needed. Recursively done for the sub items if 'rec' is TRUE. 

 if 'del' is true the sub items are deleted in C++, and removed from the
 internal dictionnary in C++ and Java (to allow it to be garbaged),
 you will have to call Children() to re-access to them"
      end

      classrelation 11392 // _assoc_diagram (<unidirectional association>)
	relation 11392 --->
	  a role_name "_assoc_diagram" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 11392 // _assoc_diagram (<unidirectional association>)
	  b parent class_ref 7297 // UmlClassDiagram
      end

      attribute 11520 "_cpp_src_dir"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 11648 "_cpp_h_dir"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 11776 "_cpp_namespace"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif

"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 11904 "_java_dir"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 12032 "_java_package"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif

"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 12160 "_idl_dir"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 12288 "_idl_module"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif

"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      operation 36864 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 36992 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 37120 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 37248 "read_idl_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 37376 "UmlBasePackage"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)};
"
	cpp_def "${inline}${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {
${body}}
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 3712 "UmlBaseRelation"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " Manage the relations between classes"
      classrelation 11520 // <generalisation>
	relation 11520 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 11520 // <generalisation>
	  b parent class_ref 7553 // UmlClassMember
      end

      operation 37504 "create"
	class_operation public return_type class_ref 9345 // UmlRelation
	nparams 3
	  param in name "kind" type class_ref 256 // aRelationKind
	  param inout name "start" type class_ref 7169 // UmlClass
	  param inout name "end" type class_ref 7169 // UmlClass
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} ${p0}, ${t1} * ${p1}, ${t2} * ${p2}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} ${p0}, ${t1} * ${p1}, ${t2} * ${p2}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new relation of the given 'kind' from 'start' to 'end'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 37632 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 37760 "relationKind"
	public return_type class_ref 256 // aRelationKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the relation"
      end

      operation 37888 "isReadOnly"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " indicates if the relation is read only, returns TRUE if yes"
      end

      operation 38016 "set_isReadOnly"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the 'read only' state of the relation
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 38144 "defaultValue"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the default relation value, may be an empty string"
      end

      operation 38272 "set_DefaultValue"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the default relation value (\"\" allowed)
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 38400 "set_Stereotype"
	cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "string"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the stereotype
 
 On error return FALSE in C++, produce a RuntimeException in Java
 redefined in case the relation is bidirectional to set the stereotype
 of the relation corresponding to the other direction"
      end

      operation 38528 "roleType"
	public return_type class_ref 7169 // UmlClass
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the 'end' class (the 'start' class is the parent of the relation) no set !"
      end

      operation 38656 "roleName"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the name of the role"
      end

      operation 38784 "set_RoleName"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the name of the role
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 38912 "multiplicity"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the multiplicity (may be an empty string)"
      end

      operation 39040 "set_Multiplicity"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the multiplicity
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 39168 "getOperation"
	public return_type class_ref 9089 // UmlOperation
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the 'get' operation of the relation, or 0 if it does not exist"
      end

      operation 39296 "addGetOperation"
	public explicit_return_type "bool"
	nparams 0
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to generate an associated 'get' operation
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 39424 "setOperation"
	public return_type class_ref 9089 // UmlOperation
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the 'set' operation of the relation, or 0 if it does not exist"
      end

      operation 39552 "addSetOperation"
	public explicit_return_type "bool"
	nparams 0
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to generate an associated 'set' operation
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 39680 "cppVirtualInheritance"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " indicates if the inheritance is virtual in C++, returns TRUE if yes"
      end

      operation 39808 "set_CppVirtualInheritance"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set if the inheritance is virtual in C++

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 39936 "isCppMutable"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Indicate if the relation is 'mutable'"
      end

      operation 40064 "set_isCppMutable"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Set if the relation is 'mutable'

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 40192 "isJavaTransient"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " indicates if the relation is 'transient', returns TRUE if yes"
      end

      operation 40320 "set_isJavaTransient"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the 'transient' state of the relation
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 40448 "isIdlTruncatableInheritance"
	public explicit_return_type "bool"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " indicates if the relation is 'truncatable', returns TRUE if yes
 have sense only for a valuetype inheritance"
      end

      operation 40576 "set_isIdlTruncatableInheritance"
	public explicit_return_type "bool"
	nparams 1
	  param in name "y" explicit_type "bool"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set if the inheritance is 'truncatable'
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 40704 "idlCase"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " in case the relation is an IDL union's member returns the
 corresponding 'case', an empty string in case it is not specified"
      end

      operation 40832 "set_IdlCase"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "a" type class_ref 7041 // UmlAttribute
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the 'case' even the relation is not (already) known as
 an IDL union's member
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 40960 "set_IdlCase"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to set the 'case' even the relation is not (already) known as
 an IDL union's member
 
 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 41088 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} = FALSE, ${t1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded
 automatically if needed. args unused"
      end

      attribute 12416 "_read_only"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 12544 "_cpp_virtual_inheritance"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name} : 1${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 12672 "_cpp_mutable"
	private explicit_type "bool"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 12800 "_java_transient"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value} : 1;
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 12928 "_idl_truncatable"
	private explicit_type "bool"
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value} : 1;
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      classrelation 11648 // _rel_kind (<directional aggregation by value>)
	relation 11648 *-->
	  a role_name "_rel_kind" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value} : 8;
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 11648 // _rel_kind (<directional aggregation by value>)
	  b parent class_ref 256 // aRelationKind
      end

      attribute 13056 "_default_value"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      classrelation 11776 // _role_type (<unidirectional association>)
	relation 11776 --->
	  a role_name "_role_type" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 11776 // _role_type (<unidirectional association>)
	  b parent class_ref 7169 // UmlClass
      end

      attribute 13184 "_role_name"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 13312 "_multiplicity"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      classrelation 11904 // _get_oper (<unidirectional association>)
	relation 11904 --->
	  a role_name "_get_oper" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 11904 // _get_oper (<unidirectional association>)
	  b parent class_ref 9089 // UmlOperation
      end

      classrelation 12032 // _set_oper (<unidirectional association>)
	relation 12032 --->
	  a role_name "_set_oper" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 12032 // _set_oper (<unidirectional association>)
	  b parent class_ref 9089 // UmlOperation
      end

      classrelation 12160 // _idl_case (<unidirectional association>)
	relation 12160 --->
	  a role_name "_idl_case" multiplicity "" private
	    comment " exclusive with idl_explicit_case"
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 12160 // _idl_case (<unidirectional association>)
	  b parent class_ref 7041 // UmlAttribute
	comment " exclusive with idl_explicit_case"
      end

      attribute 13440 "_idl_explicit_case"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      operation 41216 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 41344 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 41472 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 41600 "read_idl_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHIDL
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 41728 "UmlBaseRelation"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)};
"
	cpp_def "${inline}${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlClassMember(id, n) {
${body}}
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 3840 "UmlBaseNcRelation"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " Manage the relations between non class objects, for instances
 dependency between packages and use case generalization"
      classrelation 12288 // <generalisation>
	relation 12288 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 12288 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 41856 "create"
	class_operation public return_type class_ref 9473 // UmlNcRelation
	nparams 3
	  param in name "kind" type class_ref 256 // aRelationKind
	  param inout name "start" type class_ref 8833 // UmlItem
	  param inout name "end" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} ${p0}, ${t1} * ${p1}, ${t2} * ${p2}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} ${p0}, ${t1} * ${p1}, ${t2} * ${p2}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new non class relation of the given 'kind' from 'start' to 'end'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java"
      end

      operation 41984 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 42112 "relationKind"
	public return_type class_ref 256 // aRelationKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the relation : aGeneralisation or a Dependency, the other are not allowed
 for the non class relations"
      end

      operation 42240 "target"
	public return_type class_ref 8833 // UmlItem
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the 'end' object (the 'start' object is the parent of the relation) no set !"
      end

      classrelation 12416 // _rel_kind (<directional aggregation by value>)
	relation 12416 *-->
	  a role_name "_rel_kind" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 12416 // _rel_kind (<directional aggregation by value>)
	  b parent class_ref 256 // aRelationKind
      end

      classrelation 12544 // _target (<unidirectional association>)
	relation 12544 --->
	  a role_name "_target" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 12544 // _target (<unidirectional association>)
	  b parent class_ref 8833 // UmlItem
      end

      operation 42368 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 42496 "UmlBaseNcRelation"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)};
"
	cpp_def "${inline}${class}::${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {
${body}}
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 3968 "UmlBaseSequenceDiagram"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " Manage the sequence diagrams"
      classrelation 12672 // <generalisation>
	relation 12672 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 12672 // <generalisation>
	  b parent class_ref 8577 // UmlDiagram
      end

      operation 42624 "create"
	class_operation public return_type class_ref 9601 // UmlSequenceDiagram
	nparams 2
	  param inout name "parent" type class_ref 8833 // UmlItem
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new sequence diagram named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 42752 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 42880 "UmlBaseSequenceDiagram"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlDiagram(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 4096 "UmlBaseUseCase"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment " Manage the use cases"
      classrelation 12800 // <generalisation>
	relation 12800 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 12800 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 43008 "create"
	class_operation public return_type class_ref 9729 // UmlUseCase
	nparams 2
	  param inout name "parent" type class_ref 8833 // UmlItem
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new use case named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 43136 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 43264 "associatedDiagram"
	public return_type class_ref 9857 // UmlUseCaseDiagram
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the optional associated diagram"
      end

      operation 43392 "set_AssociatedDiagram"
	public explicit_return_type "bool"
	nparams 1
	  param inout name "d" type class_ref 9857 // UmlUseCaseDiagram
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " sets the associated diagram, arg may be null to unset it

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      classrelation 12928 // _assoc_diagram (<unidirectional association>)
	relation 12928 --->
	  a role_name "_assoc_diagram" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	    classrelation_ref 12928 // _assoc_diagram (<unidirectional association>)
	  b parent class_ref 9857 // UmlUseCaseDiagram
      end

      operation 43520 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment "internal, do NOT use it
"
      end

      operation 43648 "UmlBaseUseCase"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 4224 "UmlBaseUseCaseDiagram"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the use case diagrams"
      classrelation 13056 // <generalisation>
	relation 13056 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 13056 // <generalisation>
	  b parent class_ref 8577 // UmlDiagram
      end

      operation 43776 "create"
	class_operation public return_type class_ref 9857 // UmlUseCaseDiagram
	nparams 2
	  param inout name "parent" type class_ref 8833 // UmlItem
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new use case diagram named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 43904 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 44032 "UmlBaseUseCaseDiagram"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlDiagram(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 4352 "UmlBaseUseCaseView"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Manage the use case views"
      classrelation 13184 // <generalisation>
	relation 13184 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 13184 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 44160 "create"
	class_operation public return_type class_ref 9985 // UmlUseCaseView
	nparams 2
	  param inout name "parent" type class_ref 8833 // UmlItem
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new use case view named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 44288 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 44416 "UmlBaseUseCaseView"
	cpp_inline protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {};
"
	java_def "  ${comment}${visibility}${final}${synchronized}${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws} { super(id, n); }
"
	
	comment " the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 128256 "UmlBaseState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 128256 // <generalisation>
	relation 128256 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 128256 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 128128 "create"
	class_operation public return_type class_ref 128386 // UmlState
	nparams 2
	  param inout name "parent" type class_ref 8833 // UmlItem
	  param inout name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  returns a new state named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 128256 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 128384 "UmlBaseState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end

      operation 129152 "entryBehavior"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the entry behavior in OCL"
      end

      operation 129280 "set_EntryBehavior"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the entry behavior in OCL

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 129408 "exitBehavior"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the exit behavior in OCL"
      end

      operation 129536 "set_ExitBehavior"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the exit behavior in OCL

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 129664 "doActivity"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the activity in OCL"
      end

      operation 129792 "set_DoActivity"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the activity in OCL

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 129920 "cppEntryBehavior"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the entry behavior in C++"
      end

      operation 130048 "set_CppEntryBehavior"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the entry behavior in C++

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 130176 "cppExitBehavior"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the exit behavior in C++"
      end

      operation 130304 "set_CppExitBehavior"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the exit behavior in C++

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 130432 "cppDoActivity"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the activity in C++"
      end

      operation 130560 "set_CppDoActivity"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the activity in C++

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 130688 "javaEntryBehavior"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHJAVA
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the entry behavior in Java"
      end

      operation 130816 "set_JavaEntryBehavior"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the entry behavior in Java

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 130944 "javaExitBehavior"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the exit behavior in Java"
      end

      operation 131072 "set_JavaExitBehavior"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the exit behavior in Java

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 131200 "javaDoActivity"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the activity in Java"
      end

      operation 131328 "set_JavaDoActivity"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the activity in Java

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 131456 "associatedDiagram"
	public return_type class_ref 128642 // UmlStateDiagram
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the optional associated diagram"
      end

      operation 131584 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} = FALSE, ${t1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded automatically
 if needed. Recursively done for the sub items if 'rec' is TRUE. 

 if 'del' is true the sub items are deleted in C++, and removed from the
 internal dictionnary in C++ and Java (to allow it to be garbaged),
 you will have to call Children() to re-access to them"
      end

      classrelation 129280 // _uml (<directional aggregation by value>)
	relation 129280 *-->
	  a role_name "_uml" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 129280 // _uml (<directional aggregation by value>)
	  b parent class_ref 128768 // StateBehavior
      end

      classrelation 129408 // _cpp (<directional aggregation by value>)
	relation 129408 *-->
	  a role_name "_cpp" multiplicity "" private
	    cpp default "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 129408 // _cpp (<directional aggregation by value>)
	  b parent class_ref 128768 // StateBehavior
      end

      classrelation 129536 // _java (<directional aggregation by value>)
	relation 129536 *-->
	  a role_name "_java" multiplicity "" private
	    cpp default "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 129536 // _java (<directional aggregation by value>)
	  b parent class_ref 128768 // StateBehavior
      end

      classrelation 129664 // _assoc_diagram (<unidirectional association>)
	relation 129664 --->
	  a role_name "_assoc_diagram" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 129664 // _assoc_diagram (<unidirectional association>)
	  b parent class_ref 128642 // UmlStateDiagram
      end

      operation 131968 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      operation 132096 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      operation 132224 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      classrelation 136320 // <dependency>
	relation 136320 -_->
	  a protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 136320 // <dependency>
	  b parent class_ref 128768 // StateBehavior
      end
    end

    class 128512 "UmlBaseStateDiagram"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 128768 // <generalisation>
	relation 128768 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 128768 // <generalisation>
	  b parent class_ref 8577 // UmlDiagram
      end

      operation 128640 "create"
	class_operation public return_type class_ref 128642 // UmlStateDiagram
	nparams 2
	  param inout name "parent" type class_ref 128386 // UmlState
	  param inout name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  returns a new state diagram named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 128768 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 128896 "UmlBaseStateDiagram"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlDiagram(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 128768 "StateBehavior"
      
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      attribute 54912 "on_entry"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 55040 "on_exit"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 55168 "do_activity"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      operation 131712 "read"
	public explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      operation 131840 "unload"
	public explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	
	
      end
    end

    class 128896 "UmlBaseTransition"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 129792 // <generalisation>
	relation 129792 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 129792 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 132352 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 132480 "create"
	class_operation public return_type class_ref 129026 // UmlTransition
	nparams 2
	  param inout name "start" type class_ref 8833 // UmlItem
	  param inout name "end" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, ${t1} * ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, ${t1} * ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " Returns a new Transition from 'start' to 'end'

 In case it cannot be created ('parent' cannot contain it etc ...) return 0
  in C++ and produce a RuntimeException in Java
"
      end

      operation 132608 "target"
	cpp_virtual public return_type class_ref 8833 // UmlItem
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the 'end' object (the 'start' object is the parent of the transition) no set !"
      end

      operation 132736 "trigger"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the trigger in OCL"
      end

      operation 132864 "set_Trigger"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the trigger in OCL

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 132992 "guard"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the guard in OCL"
      end

      operation 133120 "set_Guard"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the guard in OCL

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 133248 "activity"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the activity in OCL"
      end

      operation 133376 "set_Activity"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the activity in OCL

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 133504 "cppTrigger"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the trigger in C++"
      end

      operation 133632 "set_CppTrigger"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the trigger in C++

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 133760 "cppGuard"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the guard in C++"
      end

      operation 133888 "set_CppGuard"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the guard in C++

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 134016 "cppActivity"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the activity in C++"
      end

      operation 134144 "set_CppActivity"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the activity in C++

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 134272 "javaTrigger"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHJAVA
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the trigger in Java"
      end

      operation 134400 "set_JavaTrigger"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the trigger in Java

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 134528 "javaGuard"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the guard in Java"
      end

      operation 134656 "set_JavaGuard"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the guard in Java

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 134784 "javaActivity"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the activity in Java"
      end

      operation 134912 "set_JavaActivity"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the activity in Java

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 135040 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} = FALSE, ${t1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded automatically
 if needed. Recursively done for the sub items if 'rec' is TRUE. 

 if 'del' is true the sub items are deleted in C++, and removed from the
 internal dictionnary in C++ and Java (to allow it to be garbaged),
 you will have to call Children() to re-access to them"
      end

      classrelation 130304 // _target (<unidirectional association>)
	relation 130304 --->
	  a role_name "_target" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 130304 // _target (<unidirectional association>)
	  b parent class_ref 8833 // UmlItem
      end

      classrelation 130432 // _uml (<directional aggregation by value>)
	relation 130432 *-->
	  a role_name "_uml" multiplicity "" private
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 130432 // _uml (<directional aggregation by value>)
	  b parent class_ref 129152 // TransitionBehavior
      end

      classrelation 130560 // _cpp (<directional aggregation by value>)
	relation 130560 *-->
	  a role_name "_cpp" multiplicity "" private
	    cpp default "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 130560 // _cpp (<directional aggregation by value>)
	  b parent class_ref 129152 // TransitionBehavior
      end

      classrelation 130688 // _java (<directional aggregation by value>)
	relation 130688 *-->
	  a role_name "_java" multiplicity "" private
	    cpp default "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 130688 // _java (<directional aggregation by value>)
	  b parent class_ref 129152 // TransitionBehavior
      end

      operation 135424 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      operation 135552 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      operation 135680 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      operation 135808 "UmlBaseTransition"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "n" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, n) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, n);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end

      classrelation 136192 // <dependency>
	relation 136192 -_->
	  a protected
	    cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
"
	    java "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	    classrelation_ref 136192 // <dependency>
	  b parent class_ref 129152 // TransitionBehavior
      end
    end

    class 129152 "TransitionBehavior"
      
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      attribute 55296 "trigger"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 55424 "guard"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 55552 "activity"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      operation 135168 "read"
	public explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      operation 135296 "unload"
	public explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	
	
      end
    end

    class 129280 "UmlBaseRegion"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 130816 // <generalisation>
	relation 130816 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 130816 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 136064 "create"
	class_operation public return_type class_ref 129410 // UmlRegion
	nparams 2
	  param inout name "parent" type class_ref 128386 // UmlState
	  param inout name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  returns a new region named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 136192 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 136320 "UmlBaseRegion"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 129536 "UmlBaseStateAction"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 131328 // <generalisation>
	relation 131328 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 131328 // <generalisation>
	  b parent class_ref 8833 // UmlItem
      end

      operation 136704 "create"
	class_operation public return_type class_ref 129666 // UmlStateAction
	nparams 1
	  param inout name "parent" type class_ref 128386 // UmlState
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new state action created under 'parent'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java
"
      end

      operation 136832 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 136960 "UmlBaseStateAction"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlItem(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end

      operation 137088 "expression"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the expression in OCL"
      end

      operation 137216 "set_Expression"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the expression in OCL

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 137344 "cppExpression"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHCPP
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the expression in C++"
      end

      operation 137472 "set_CppExpression"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the expression in C++

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 137600 "javaExpression"
	public explicit_return_type "string"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}const ${type} & ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "#ifdef WITHJAVA
${inline}const ${type} & ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " return the expression in Java"
      end

      operation 137728 "set_JavaExpression"
	public explicit_return_type "bool"
	nparams 1
	  param in name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}const ${t0} ${p0}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "${inline}${type} ${class}::${name}${(}const ${t0} ${p0}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}void ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " set the expression in Java

 On error return FALSE in C++, produce a RuntimeException in Java"
      end

      operation 137856 "unload"
	cpp_virtual public explicit_return_type "void"
	nparams 2
	  param in name "rec" explicit_type "bool"
	  param in name "del" explicit_type "bool"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} = FALSE, ${t1} = FALSE${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment " to unload the object to free memory, it will be reloaded automatically
 if needed. Recursively done for the sub items if 'rec' is TRUE. 

 if 'del' is true the sub items are deleted in C++, and removed from the
 internal dictionnary in C++ and Java (to allow it to be garbaged),
 you will have to call Children() to re-access to them"
      end

      attribute 55680 "_uml"
	private explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 55808 "_cpp"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 55936 "_java"
	private explicit_type "string"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      operation 137984 "read_uml_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      operation 138112 "read_cpp_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHCPP
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end

      operation 138240 "read_java_"
	cpp_virtual protected explicit_return_type "void"
	nparams 0
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
#endif
"
	cpp_def "#ifdef WITHJAVA
${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
#endif
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
      end
    end

    class 129920 "UmlBaseInitialPseudoState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 132096 // <generalisation>
	relation 132096 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 132096 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 138496 "create"
	class_operation public return_type class_ref 130050 // UmlInitialPseudoState
	nparams 1
	  param inout name "parent" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new initial pseudo state created under 'parent'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java
"
      end

      operation 138624 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 138752 "UmlBaseInitialPseudoState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 130176 "UmlBaseEntryPointPseudoState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 132480 // <generalisation>
	relation 132480 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 132480 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 139008 "create"
	class_operation public return_type class_ref 130306 // UmlEntryPointPseudoState
	nparams 2
	  param inout name "parent" type class_ref 8833 // UmlItem
	  param inout name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  returns a new entry point pseudo state named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 139136 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 139264 "UmlBaseEntryPointPseudoState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 130432 "UmlBaseFinalState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 132864 // <generalisation>
	relation 132864 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 132864 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 139520 "create"
	class_operation public return_type class_ref 130562 // UmlFinalState
	nparams 1
	  param inout name "parent" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new final state created under 'parent'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java
"
      end

      operation 139648 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 139776 "UmlBaseFinalState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 130688 "UmlBaseTerminatePseudoState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 133248 // <generalisation>
	relation 133248 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 133248 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 140032 "create"
	class_operation public return_type class_ref 130818 // UmlTerminatePseudoState
	nparams 1
	  param inout name "parent" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new terminate pseudo state created under 'parent'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java
"
      end

      operation 140160 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 140288 "UmlBaseTerminatePseudoState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 130944 "UmlBaseExitPointPseudoState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 133632 // <generalisation>
	relation 133632 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 133632 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 140544 "create"
	class_operation public return_type class_ref 131074 // UmlExitPointPseudoState
	nparams 2
	  param inout name "parent" type class_ref 8833 // UmlItem
	  param inout name "s" explicit_type "str"
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}, const ${t1} ${p1}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
${body}}
"
	
	comment "  returns a new exit point pseudo state named 's' created under 'parent'

 In case it cannot be created (the name is already used or
 invalid, 'parent' cannot contain it etc ...) return 0 in C++
 and produce a RuntimeException in Java"
      end

      operation 140672 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 140800 "UmlBaseExitPointPseudoState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 131200 "UmlBaseDeepHistoryPseudoState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 134016 // <generalisation>
	relation 134016 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 134016 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 141056 "create"
	class_operation public return_type class_ref 131330 // UmlDeepHistoryPseudoState
	nparams 1
	  param inout name "parent" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new deep history pseudo state created under 'parent'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java
"
      end

      operation 141184 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 141312 "UmlBaseDeepHistoryPseudoState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 131456 "UmlBaseShallowHistoryPseudoState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 134400 // <generalisation>
	relation 134400 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 134400 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 141568 "create"
	class_operation public return_type class_ref 131586 // UmlShallowHistoryPseudoState
	nparams 1
	  param inout name "parent" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new shallow history pseudo state created under 'parent'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java
"
      end

      operation 141696 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 141824 "UmlBaseShallowHistoryPseudoState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 131712 "UmlBaseJunctionPseudoState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 134784 // <generalisation>
	relation 134784 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 134784 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 142080 "create"
	class_operation public return_type class_ref 131842 // UmlJunctionPseudoState
	nparams 1
	  param inout name "parent" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new junction pseudo state created under 'parent'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java
"
      end

      operation 142208 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 142336 "UmlBaseJunctionPseudoState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 131968 "UmlBaseChoicePseudoState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 135168 // <generalisation>
	relation 135168 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 135168 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 142592 "create"
	class_operation public return_type class_ref 132098 // UmlChoicePseudoState
	nparams 1
	  param inout name "parent" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new choice pseudo state created under 'parent'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java
"
      end

      operation 142720 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 142848 "UmlBaseChoicePseudoState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 132224 "UmlBaseForkPseudoState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 135552 // <generalisation>
	relation 135552 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 135552 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 143104 "create"
	class_operation public return_type class_ref 132354 // UmlForkPseudoState
	nparams 1
	  param inout name "parent" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new fork pseudo state created under 'parent'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java
"
      end

      operation 143232 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 143360 "UmlBaseForkPseudoState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 132480 "UmlBaseJoinPseudoState"
      abstract 
      
      cpp_decl "${comment}${template}class ${name}${inherit} {
${members}};

${inlines}
"
      java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 135936 // <generalisation>
	relation 135936 ---|>
	  a public
	    cpp default "Generated"
	    java "Generated"
	    classrelation_ref 135936 // <generalisation>
	  b parent class_ref 129794 // UmlPseudoState
      end

      operation 143616 "create"
	class_operation public return_type class_ref 132610 // UmlJoinPseudoState
	nparams 1
	  param inout name "parent" type class_ref 8833 // UmlItem
	nexceptions 1
	  explicit_exception "RuntimeException"
	cpp_decl "    ${comment}${static}${virtual}${type} * ${name}${(}${t0} * ${p0}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} * ${class}::${name}${(}${t0} * ${p0}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${t0} ${p0}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns a new join pseudo state created under 'parent'

 In case it cannot be created ('parent' cannot contain it etc ...)
 return 0 in C++ and produce a RuntimeException in Java
"
      end

      operation 143744 "kind"
	cpp_virtual public return_type class_ref 640 // anItemKind
	nparams 0
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${)}${const}${volatile}${abstract};
"
	cpp_def "${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${staticnl}{
${body}}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
${body}}
"
	
	comment " returns the kind of the item"
      end

      operation 143872 "UmlBaseJoinPseudoState"
	protected explicit_return_type ""
	nparams 2
	  param in name "id" explicit_type "item_id"
	  param in name "s" explicit_type "string"
	cpp_decl "    ${comment}${static}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)} : UmlPseudoState(id, s) {
}
"
	java_def "  ${comment}${visibility}${final}${static}${abstract}${synchronized} ${name}${(}${t0} ${p0}, ${t1} ${p1}${)}${throws}${staticnl}{
  super(id, s);
}
"
	
	comment "  the constructor, do not call it yourself !!!!!!!!!!"
      end
    end

    class 4480 "UmlBuiltin"
       stereotype "struct"
      
      cpp_decl "${comment}${template}struct ${name}${inherit} {
${members}};

${inlines}
"
      final java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Internal class used to memorize the types defined through the first 'generation settings' tab
"
      attribute 13568 "uml"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 13696 "cpp"
	public explicit_type "string"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 13824 "cpp_in"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 13952 "cpp_out"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 14080 "cpp_inout"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 62208 "cpp_return"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
"
	idl_decl ""
      end

      attribute 14208 "java"
	public explicit_type "string"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 14336 "idl"
	public explicit_type "string"
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end
    end

    class 4608 "UmlStereotype"
       stereotype "struct"
      
      cpp_decl "${comment}${template}struct ${name}${inherit} {
${members}};

${inlines}
"
      final java_decl "${comment}${public}${final}${abstract}class ${name}${extends}${implements} {
${members}};
"
      idl_decl ""
      explicit_switch_type ""
      
      comment "  Internal class used to know how what code is produced for a stereotype in each language
"
      attribute 14464 "uml"
	public explicit_type "string"
	cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 14592 "cpp"
	public explicit_type "string"
	cpp_decl "    #ifdef WITHCPP
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 14720 "java"
	public explicit_type "string"
	cpp_decl "    #ifdef WITHJAVA
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end

      attribute 14848 "idl"
	public explicit_type "string"
	cpp_decl "    #ifdef WITHIDL
${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
#endif
"
	java_decl "  ${comment}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};"
	idl_decl ""
      end
    end
  end

  deploymentview 256 "API BASE Deployment view"
    //deployment diagram settings
    package_name_in_tab default show_context default write_horizontally default auto_label_position default
    draw_component_as_icon default show_component_req_prov default show_component_rea default
    comment "The API system artifacts

DO NOT MODIFY THEM !!!
"
    artifact 256 "UmlBaseActualParameter"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 896 // UmlBaseActualParameter
      end
    end

    artifact 384 "UmlBaseClassItem"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 1536 // UmlBaseClassItem
      end
    end

    artifact 512 "UmlBaseFormalParameter"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
#include \"UmlBaseItem.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 1024 // UmlBaseFormalParameter
      end
    end

    artifact 640 "UmlTypeSpec"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 1152 // UmlTypeSpec
      end
    end

    artifact 768 "UmlBaseAttribute"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 1280 // UmlBaseAttribute
      end
    end

    artifact 896 "UmlBaseClass"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
#include \"UmlFormalParameter.h\"
#include \"UmlActualParameter.h\"
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
#include \"ClassGlobalCmd.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
import java.util.*;
${package}
${definition}"
      associated_classes
	class_ref 1408 // UmlBaseClass
      end
    end

    artifact 1024 "UmlBaseClassDiagram"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 1664 // UmlBaseClassDiagram
      end
    end

    artifact 1152 "UmlBaseClassMember"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 1792 // UmlBaseClassMember
      end
    end

    artifact 1280 "UmlBaseClassView"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 1920 // UmlBaseClassView
      end
    end

    artifact 1408 "UmlBaseCollaborationDiagram"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 2176 // UmlBaseCollaborationDiagram
      end
    end

    artifact 1536 "UmlBaseArtifact"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
#include \"UmlClass.h\"	// to avoid destructor problem
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 2048 // UmlBaseArtifact
      end
    end

    artifact 6528 "UmlBaseComponent"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
#include \"UmlClass.h\"	// to avoid destructor problem
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 6528 // UmlBaseComponent
      end
    end

    artifact 1664 "UmlBaseComponentDiagram"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 2304 // UmlBaseComponentDiagram
      end
    end

    artifact 1792 "UmlBaseComponentView"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 2432 // UmlBaseComponentView
      end
    end

    artifact 1920 "UmlBaseDeployment"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 2816 // UmlBaseDeployment
      end
    end

    artifact 2048 "UmlBaseDeploymentDiagram"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 2560 // UmlBaseDeploymentDiagram
      end
    end

    artifact 2176 "UmlBaseDeploymentView"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 2688 // UmlBaseDeploymentView
      end
    end

    artifact 2304 "UmlBaseDiagram"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 2944 // UmlBaseDiagram
      end
    end

    artifact 2432 "UmlBaseExtraClassMember"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 3072 // UmlBaseExtraClassMember
      end
    end

    artifact 2560 "UmlBaseItem"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
#include \"UmlRelation.h\"
#include \"UmlNcRelation.h\"
#include \"UmlAttribute.h\"
#include \"UmlOperation.h\"
#include \"UmlClass.h\"
#include \"UmlUseCase.h\"
#include \"UmlNode.h\"
#include \"UmlArtifact.h\"
#include \"UmlComponent.h\"
#include \"UmlClassDiagram.h\"
#include \"UmlUseCaseDiagram.h\"
#include \"UmlSequenceDiagram.h\"
#include \"UmlCollaborationDiagram.h\"
#include \"UmlComponentDiagram.h\"
#include \"UmlDeploymentDiagram.h\"
#include \"UmlClassView.h\"
#include \"UmlUseCaseView.h\"
#include \"UmlComponentView.h\"
#include \"UmlDeploymentView.h\"
#include \"UmlPackage.h\"
#include \"UmlExtraClassMember.h\"
#include \"UmlState.h\"
#include \"UmlTransition.h\"
#include \"UmlRegion.h\"
#include \"UmlStateDiagram.h\"
#include \"UmlStateAction.h\"
#include \"UmlInitialPseudoState.h\"
#include \"UmlEntryPointPseudoState.h\"
#include \"UmlFinalState.h\"
#include \"UmlTerminatePseudoState.h\"
#include \"UmlExitPointPseudoState.h\"
#include \"UmlDeepHistoryPseudoState.h\"
#include \"UmlShallowHistoryPseudoState.h\"
#include \"UmlJunctionPseudoState.h\"
#include \"UmlChoicePseudoState.h\"
#include \"UmlForkPseudoState.h\"
#include \"UmlJoinPseudoState.h\"
#include \"MiscGlobalCmd.h\"

${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
import java.util.*;
${package}
${definition}"
      associated_classes
	class_ref 3200 // UmlBaseItem
      end
    end

    artifact 2688 "UmlBaseNode"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 3328 // UmlBaseNode
      end
    end

    artifact 2816 "UmlBaseOperation"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
#include \"UmlParameter.h\"
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
#include \"UmlBaseClass.h\"
#include \"UmlClassMember.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 3456 // UmlBaseOperation
      end
    end

    artifact 2944 "UmlBasePackage"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
#include \"PackageGlobalCmd.h\"
#include \"MiscGlobalCmd.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 3584 // UmlBasePackage
      end
    end

    artifact 3072 "UmlBaseRelation"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 3712 // UmlBaseRelation
      end
    end

    artifact 3200 "UmlBaseNcRelation"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 3840 // UmlBaseNcRelation
      end
    end

    artifact 3328 "UmlBaseSequenceDiagram"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 3968 // UmlBaseSequenceDiagram
      end
    end

    artifact 3456 "UmlBaseUseCase"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
#include \"UmlCom.h\"
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 4096 // UmlBaseUseCase
      end
    end

    artifact 3584 "UmlBaseUseCaseDiagram"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 4224 // UmlBaseUseCaseDiagram
      end
    end

    artifact 3712 "UmlBaseUseCaseView"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 4352 // UmlBaseUseCaseView
      end
    end

    artifact 128256 "UmlBaseState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 128256 // UmlBaseState
      end
    end

    artifact 128512 "UmlBaseStateDiagram"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 128512 // UmlBaseStateDiagram
      end
    end

    artifact 128768 "StateBehavior"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
#include \"UmlCom.h\"
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 128768 // StateBehavior
      end
    end

    artifact 128896 "UmlBaseTransition"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
#include \"UmlCom.h\"
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 128896 // UmlBaseTransition
      end
    end

    artifact 129152 "TransitionBehavior"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
#include \"UmlCom.h\"
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 129152 // TransitionBehavior
      end
    end

    artifact 129280 "UmlBaseRegion"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 129280 // UmlBaseRegion
      end
    end

    artifact 129536 "UmlBaseStateAction"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
#include \"UmlCom.h\"
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 129536 // UmlBaseStateAction
      end
    end

    artifact 129920 "UmlBaseInitialPseudoState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 129920 // UmlBaseInitialPseudoState
      end
    end

    artifact 130176 "UmlBaseEntryPointPseudoState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 130176 // UmlBaseEntryPointPseudoState
      end
    end

    artifact 130432 "UmlBaseFinalState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 130432 // UmlBaseFinalState
      end
    end

    artifact 130688 "UmlBaseTerminatePseudoState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 130688 // UmlBaseTerminatePseudoState
      end
    end

    artifact 130944 "UmlBaseExitPointPseudoState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 130944 // UmlBaseExitPointPseudoState
      end
    end

    artifact 131200 "UmlBaseDeepHistoryPseudoState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 131200 // UmlBaseDeepHistoryPseudoState
      end
    end

    artifact 131456 "UmlBaseShallowHistoryPseudoState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 131456 // UmlBaseShallowHistoryPseudoState
      end
    end

    artifact 131712 "UmlBaseJunctionPseudoState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 131712 // UmlBaseJunctionPseudoState
      end
    end

    artifact 131968 "UmlBaseChoicePseudoState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 131968 // UmlBaseChoicePseudoState
      end
    end

    artifact 132224 "UmlBaseForkPseudoState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 132224 // UmlBaseForkPseudoState
      end
    end

    artifact 132480 "UmlBaseJoinPseudoState"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 132480 // UmlBaseJoinPseudoState
      end
    end

    artifact 3840 "aRelationKind"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 256 // aRelationKind
      end
    end

    artifact 3968 "aDirection"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 384 // aDirection
      end
    end

    artifact 4096 "aVisibility"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 512 // aVisibility
      end
    end

    artifact 4224 "anItemKind"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 640 // anItemKind
      end
    end

    artifact 4352 "UmlParameter"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 768 // UmlParameter
      end
    end

    artifact 4480 "UmlBuiltin"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 4480 // UmlBuiltin
      end
    end

    artifact 4608 "UmlStereotype"
      stereotype "source"
      cpp_h "#ifndef _${NAME}_H
#define _${NAME}_H

${comment}
${includes}
${declarations}
${namespace_start}
${definition}
${namespace_end}
#endif
"
      cpp_src "${comment}
${includes}
${namespace_start}
${members}
${namespace_end}"
      java_src "${comment}
${package}
${definition}"
      associated_classes
	class_ref 4608 // UmlStereotype
      end
    end
  end

  package_ref 384 // Settings

  package_ref 512 // Com
end
