Report 'Java code' '// From MetaEdit+, graph: '; id; ''; newline; '// (.java file)'; newline;newline; foreach .Class; { if :Documentation <> ''; then ' // '; :Documentation; newline; endif; 'abstract class '; :Class name; if ~Specialization; then ' extends '; ~Specialization>Gen-spec structure~Generalization.():Class name; endif; ' {'; newline; dowhile :Attributes { if :Access level = 'public' then if :Data type = ''; then ' // please specify data type '; endif; ' public '; :Data type; ' '; id; ';'; if :Documentation <> ''; then ' // '; :Documentation; endif; newline; endif; } dowhile :Attributes { if :Access level = 'private' then if :Data type = ''; then ' // please specify data type '; endif; ' private '; :Data type; ' '; id; ';'; if :Documentation <> ''; then ' // '; :Documentation; endif; newline; endif; } dowhile :Attributes { if :Access level = 'protected' then if :Data type = ''; then ' // please specify data type '; endif; ' protected '; :Data type; ' '; id; ';'; if :Documentation <> ''; then ' // '; :Documentation; endif; newline; endif; } dowhile :Attributes { if :Access level = '' then if :Data type = ''; then ' // please specify data type '; endif; ' '; if :Attribute type = 'class' then 'static '; endif; :Data type; ' '; id; ';'; if :Documentation <> ''; then ' // '; :Documentation; endif; newline; endif; } dowhile ~Whole>Whole-part structure~Part.(); { ' '; :Class name; ' my'; :Class name; ';'; ' // aggregation based data'; newline; }; newline; dowhile :Services { if :Access level = 'public'; then if :Documentation <> ''; then ' // '; :Documentation; newline; endif; ' public '; if :Return type = ''; then 'void'; endif; if :Return type <> ''; then :Return type; endif; ' '; id; ' ( '; :Parameter list; ' ) {'; if :Method body <> ''; then newline; ' '; :Method body; endif; newline; ' }'; newline; newline; endif; }; dowhile :Services { if :Access level = 'private'; then if :Documentation <> ''; then ' // '; :Documentation; newline; endif; ' private '; if :Return type = ''; then 'void'; endif; if :Return type <> ''; then :Return type; endif; ' '; id; ' ( '; :Parameter list; ' ) {'; if :Method body <> ''; then newline;' '; :Method body; endif; newline; ' }'; newline; newline; endif; }; dowhile :Services { if :Access level = 'protected'; then if :Documentation <> ''; then ' // '; :Documentation; newline; endif; ' protected '; if :Return type = ''; then 'void'; endif; if :Return type <> ''; then :Return type; endif; ' '; id; ' ( '; :Parameter list; ' ) {'; if :Method body <> ''; then newline; ' '; :Method body; endif; newline; ' }'; newline; newline; endif; }; dowhile :Services { if :Access level = ''; then if :Documentation <> ''; then ' // '; :Documentation; newline; endif; if :Method type = 'class' then ' static '; endif; if :Return type = ''; then ' void'; endif; if :Return type <> ''; then ' '; :Return type; endif; ' '; id; ' ( '; :Parameter list; ' ) {'; if :Method body <> ''; then newline; ' '; :Method body; endif; newline; ' }'; newline; newline; endif; }; '} // end of class '; :Class name; newline; newline; } foreach .Class-&-Object; { if :Documentation <> ''; then ' // '; :Documentation; newline; endif; 'class '; :Class name; if ~Specialization; then ' extends '; ~Specialization>Gen-spec structure~Generalization.():Class name; endif; ' {'; newline; dowhile :Attributes { if :Access level = 'public' then if :Data type = ''; then ' // please specify data type '; endif; ' public '; :Data type; ' '; id; ';'; if :Documentation <> ''; then ' // '; :Documentation; endif; newline; endif; } dowhile :Attributes { if :Access level = 'private' then if :Data type = ''; then ' // please specify data type '; endif; ' private '; :Data type; ' '; id; ';'; if :Documentation <> ''; then ' // '; :Documentation; endif; newline; endif; } dowhile :Attributes { if :Access level = 'protected' then if :Data type = ''; then ' // please specify data type '; endif; ' protected '; :Data type; ' '; id; ';'; if :Documentation <> ''; then ' // '; :Documentation; endif; newline; endif; } dowhile :Attributes { if :Access level = '' then if :Data type = ''; then ' // please specify data type '; endif; ' '; if :Attribute type = 'class' then 'static '; endif; :Data type; ' '; id; ';'; if :Documentation <> ''; then ' // '; :Documentation; endif; newline; endif; } dowhile ~Whole>Whole-part structure~Part.(); { ' '; :Class name; ' my'; :Class name; ';'; ' // aggregation based data'; newline; }; newline; dowhile :Services { if :Access level = 'public'; then if :Documentation <> ''; then ' // '; :Documentation; newline; endif; ' public '; if :Return type = ''; then 'void'; endif; if :Return type <> ''; then :Return type; endif; ' '; id; ' ( '; :Parameter list; ' ) {'; if :Method body <> ''; then newline; ' '; :Method body; endif; newline; ' }'; newline; newline; endif; }; dowhile :Services { if :Access level = 'private'; then if :Documentation <> ''; then ' // '; :Documentation; newline; endif; ' private '; if :Return type = ''; then 'void'; endif; if :Return type <> ''; then :Return type; endif; ' '; id; ' ( '; :Parameter list; ' ) {'; if :Method body <> ''; then newline;' '; :Method body; endif; newline; ' }'; newline; newline; endif; }; dowhile :Services { if :Access level = 'protected'; then if :Documentation <> ''; then ' // '; :Documentation; newline; endif; ' protected '; if :Return type = ''; then 'void'; endif; if :Return type <> ''; then :Return type; endif; ' '; id; ' ( '; :Parameter list; ' ) {'; if :Method body <> ''; then newline; ' '; :Method body; endif; newline; ' }'; newline; newline; endif; }; dowhile :Services { if :Access level = ''; then if :Documentation <> ''; then ' // '; :Documentation; newline; endif; if :Method type = 'class' then ' static '; endif; if :Return type = ''; then ' void'; endif; if :Return type <> ''; then ' '; :Return type; endif; ' '; id; ' ( '; :Parameter list; ' ) {'; if :Method body <> ''; then newline; ' '; :Method body; endif; newline; ' }'; newline; newline; endif; }; '} // end of class '; :Class name; newline; newline; } endreport