core: import java.util.*; import java.io.*; import edu.neu.ccs.demeter.*; add: abstract class DataItem { protected String name; public String get_name() {{ return name; }} public void set_name(String new_name) {{ name = new_name; }} protected String type; public String get_type() {{ return type; }} public void set_type(String new_type) {{ type = new_type; }} protected Boolean nillable_flag; public Boolean get_nillable_flag() {{ return nillable_flag; }} public void set_nillable_flag(Boolean new_nillable_flag) {{ nillable_flag = new_nillable_flag; }} public constructor DataItem() {{ super(); }} public constructor DataItem(String name, String type, Boolean nillable_flag) {{ super(); set_name(name); set_type(type); set_nillable_flag(nillable_flag); }} {{ void universal_trv0_bef(UniversalVisitor _v_) { ((UniversalVisitor) _v_).before(this); } }} {{ void universal_trv0_aft(UniversalVisitor _v_) { ((UniversalVisitor) _v_).after(this); } }} {{ void universal_trv0(UniversalVisitor _v_) { ((UniversalVisitor) _v_).before_name(this, name); ((UniversalVisitor) _v_).after_name(this, name); ((UniversalVisitor) _v_).before_type(this, type); ((UniversalVisitor) _v_).after_type(this, type); if (nillable_flag != null) { ((UniversalVisitor) _v_).before_nillable_flag(this, nillable_flag); ((UniversalVisitor) _v_).after_nillable_flag(this, nillable_flag); } } }} {{ void printClasses_CDDef_trv_bef(GenerateCDVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void printClasses_CDDef_trv_aft(GenerateCDVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void printClasses_CDDef_trv(GenerateCDVisitor __v0) { ((UniversalVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((UniversalVisitor) __v0).before_type(this, type); ((UniversalVisitor) __v0).after_type(this, type); if (nillable_flag != null) { ((UniversalVisitor) __v0).before_nillable_flag(this, nillable_flag); ((UniversalVisitor) __v0).after_nillable_flag(this, nillable_flag); } } }} {{ void printInits_CDDef_trv_bef(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void printInits_CDDef_trv_aft(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void printInits_CDDef_trv(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((UniversalVisitor) __v0).before_type(this, type); ((UniversalVisitor) __v0).after_type(this, type); if (nillable_flag != null) { ((UniversalVisitor) __v0).before_nillable_flag(this, nillable_flag); ((UniversalVisitor) __v0).after_nillable_flag(this, nillable_flag); } } }} {{ void printValidations_CDDef_trv_bef(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void printValidations_CDDef_trv_aft(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void printValidations_CDDef_trv(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((UniversalVisitor) __v0).before_type(this, type); ((UniversalVisitor) __v0).after_type(this, type); if (nillable_flag != null) { ((UniversalVisitor) __v0).before_nillable_flag(this, nillable_flag); ((UniversalVisitor) __v0).after_nillable_flag(this, nillable_flag); } } }} {{ void __trav_print_CDDef_trv_bef(DisplayVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_CDDef_trv_aft(DisplayVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void __trav_print_CDDef_trv(DisplayVisitor __v0) { ((DisplayVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((DisplayVisitor) __v0).before_type(this, type); ((UniversalVisitor) __v0).after_type(this, type); if (nillable_flag != null) { ((DisplayVisitor) __v0).before_nillable_flag(this, nillable_flag); ((UniversalVisitor) __v0).after_nillable_flag(this, nillable_flag); } } }} {{ void getPartInits_DataClass_trv_bef(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void getPartInits_DataClass_trv_aft(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void getPartInits_DataClass_trv(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((UniversalVisitor) __v0).before_type(this, type); ((UniversalVisitor) __v0).after_type(this, type); if (nillable_flag != null) { ((UniversalVisitor) __v0).before_nillable_flag(this, nillable_flag); ((UniversalVisitor) __v0).after_nillable_flag(this, nillable_flag); } } }} {{ void getPartValidations_DataClass_trv_bef(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).before(this); } }} {{ void getPartValidations_DataClass_trv_aft(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).after(this); } }} {{ void getPartValidations_DataClass_trv(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((UniversalVisitor) __v0).before_type(this, type); ((UniversalVisitor) __v0).after_type(this, type); if (nillable_flag != null) { ((UniversalVisitor) __v0).before_nillable_flag(this, nillable_flag); ((UniversalVisitor) __v0).after_nillable_flag(this, nillable_flag); } } }} }