core: import java.util.*; import java.io.*; import edu.neu.ccs.demeter.*; add: abstract class ClassPart extends DataItem { protected Constraint constraint; public Constraint get_constraint() {{ return constraint; }} public void set_constraint(Constraint new_constraint) {{ constraint = new_constraint; }} public constructor ClassPart() {{ super(); }} public constructor ClassPart(String name, String type, Boolean nillable_flag, Constraint constraint) {{ super(name, type, nillable_flag); set_constraint(constraint); }} {{ void universal_trv0_bef(UniversalVisitor _v_) { super.universal_trv0_bef(_v_); ((UniversalVisitor) _v_).before(this); } }} {{ void universal_trv0_aft(UniversalVisitor _v_) { ((UniversalVisitor) _v_).after(this); super.universal_trv0_aft(_v_); } }} {{ void universal_trv0(UniversalVisitor _v_) { ((UniversalVisitor) _v_).before_constraint(this, constraint); constraint.universal_trv0(_v_); ((UniversalVisitor) _v_).after_constraint(this, constraint); super.universal_trv0(_v_); } }} {{ void printClasses_CDDef_trv_bef(GenerateCDVisitor __v0) { super.printClasses_CDDef_trv_bef(__v0); ((UniversalVisitor) __v0).before(this); } }} {{ void printClasses_CDDef_trv_aft(GenerateCDVisitor __v0) { ((UniversalVisitor) __v0).after(this); super.printClasses_CDDef_trv_aft(__v0); } }} {{ void printClasses_CDDef_trv(GenerateCDVisitor __v0) { ((UniversalVisitor) __v0).before_constraint(this, constraint); constraint.printClasses_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_constraint(this, constraint); super.printClasses_CDDef_trv(__v0); } }} {{ void printInits_CDDef_trv_bef(GenerateInitsVisitor __v0) { super.printInits_CDDef_trv_bef(__v0); ((GenerateInitsVisitor) __v0).before(this); } }} {{ void printInits_CDDef_trv_aft(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).after(this); super.printInits_CDDef_trv_aft(__v0); } }} {{ void printInits_CDDef_trv(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).before_constraint(this, constraint); constraint.printInits_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_constraint(this, constraint); super.printInits_CDDef_trv(__v0); } }} {{ void printValidations_CDDef_trv_bef(GenerateValidationsVisitor __v0) { super.printValidations_CDDef_trv_bef(__v0); ((GenerateValidationsVisitor) __v0).before(this); } }} {{ void printValidations_CDDef_trv_aft(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).after(this); super.printValidations_CDDef_trv_aft(__v0); } }} {{ void printValidations_CDDef_trv(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).before_constraint(this, constraint); constraint.printValidations_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_constraint(this, constraint); super.printValidations_CDDef_trv(__v0); } }} {{ void __trav_print_CDDef_trv_bef(DisplayVisitor __v0) { super.__trav_print_CDDef_trv_bef(__v0); ((UniversalVisitor) __v0).before(this); } }} {{ void __trav_print_CDDef_trv_aft(DisplayVisitor __v0) { ((UniversalVisitor) __v0).after(this); super.__trav_print_CDDef_trv_aft(__v0); } }} {{ void __trav_print_CDDef_trv(DisplayVisitor __v0) { ((DisplayVisitor) __v0).before_constraint(this, constraint); constraint.__trav_print_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_constraint(this, constraint); super.__trav_print_CDDef_trv(__v0); } }} {{ void getPartInits_DataClass_trv_bef(GenerateInitsVisitor __v0) { super.getPartInits_DataClass_trv_bef(__v0); ((GenerateInitsVisitor) __v0).before(this); } }} {{ void getPartInits_DataClass_trv_aft(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).after(this); super.getPartInits_DataClass_trv_aft(__v0); } }} {{ void getPartInits_DataClass_trv(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).before_constraint(this, constraint); constraint.getPartInits_DataClass_trv(__v0); ((UniversalVisitor) __v0).after_constraint(this, constraint); super.getPartInits_DataClass_trv(__v0); } }} {{ void getPartValidations_DataClass_trv_bef(GenerateValidationsVisitor __v0) { super.getPartValidations_DataClass_trv_bef(__v0); ((GenerateValidationsVisitor) __v0).before(this); } }} {{ void getPartValidations_DataClass_trv_aft(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).after(this); super.getPartValidations_DataClass_trv_aft(__v0); } }} {{ void getPartValidations_DataClass_trv(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).before_constraint(this, constraint); constraint.getPartValidations_DataClass_trv(__v0); ((UniversalVisitor) __v0).after_constraint(this, constraint); super.getPartValidations_DataClass_trv(__v0); } }} }