import java.util.*; import java.io.*; import edu.neu.ccs.demeter.*; class DataClass { protected String name; public String get_name() { return name; } public void set_name(String new_name) { name = new_name; } protected String category; public String get_category() { return category; } public void set_category(String new_category) { category = new_category; } protected boolean abstract_ind; public boolean get_abstract_ind() { return abstract_ind; } public void set_abstract_ind(boolean new_abstract_ind) { abstract_ind = new_abstract_ind; } protected SubclassSpec_List subclasses; public SubclassSpec_List get_subclasses() { return subclasses; } public void set_subclasses(SubclassSpec_List new_subclasses) { subclasses = new_subclasses; } protected AttrClassPart_List attr_parts; public AttrClassPart_List get_attr_parts() { return attr_parts; } public void set_attr_parts(AttrClassPart_List new_attr_parts) { attr_parts = new_attr_parts; } protected ElementClassPart_List element_parts; public ElementClassPart_List get_element_parts() { return element_parts; } public void set_element_parts(ElementClassPart_List new_element_parts) { element_parts = new_element_parts; } protected String superclass; public String get_superclass() { return superclass; } public void set_superclass(String new_superclass) { superclass = new_superclass; } protected Boolean superclass_abstract_ind; public Boolean get_superclass_abstract_ind() { return superclass_abstract_ind; } public void set_superclass_abstract_ind(Boolean new_superclass_abstract_ind) { superclass_abstract_ind = new_superclass_abstract_ind; } protected Boolean mixed_content_ind; public Boolean get_mixed_content_ind() { return mixed_content_ind; } public void set_mixed_content_ind(Boolean new_mixed_content_ind) { mixed_content_ind = new_mixed_content_ind; } public DataClass() { super(); } public DataClass(String name, String category, boolean abstract_ind, SubclassSpec_List subclasses, AttrClassPart_List attr_parts, ElementClassPart_List element_parts, String superclass, Boolean superclass_abstract_ind, Boolean mixed_content_ind) { super(); set_name(name); set_category(category); set_abstract_ind(abstract_ind); set_subclasses(subclasses); set_attr_parts(attr_parts); set_element_parts(element_parts); set_superclass(superclass); set_superclass_abstract_ind(superclass_abstract_ind); set_mixed_content_ind(mixed_content_ind); } public static DataClass parse(java.io.Reader in) throws ParseException { return new Parser(in)._DataClass(); } public static DataClass parse(java.io.InputStream in) throws ParseException { return new Parser(in)._DataClass(); } public static DataClass parse(String s) { try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } 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_) { universal_trv0_bef(_v_); ((UniversalVisitor) _v_).before_name(this, name); ((UniversalVisitor) _v_).after_name(this, name); ((UniversalVisitor) _v_).before_category(this, category); ((UniversalVisitor) _v_).after_category(this, category); ((UniversalVisitor) _v_).before_abstract_ind(this, abstract_ind); ((UniversalVisitor) _v_).after_abstract_ind(this, abstract_ind); ((UniversalVisitor) _v_).before_subclasses(this, subclasses); subclasses.universal_trv0(_v_); ((UniversalVisitor) _v_).after_subclasses(this, subclasses); ((UniversalVisitor) _v_).before_attr_parts(this, attr_parts); attr_parts.universal_trv0(_v_); ((UniversalVisitor) _v_).after_attr_parts(this, attr_parts); ((UniversalVisitor) _v_).before_element_parts(this, element_parts); element_parts.universal_trv0(_v_); ((UniversalVisitor) _v_).after_element_parts(this, element_parts); if (superclass != null) { ((UniversalVisitor) _v_).before_superclass(this, superclass); ((UniversalVisitor) _v_).after_superclass(this, superclass); } if (superclass_abstract_ind != null) { ((UniversalVisitor) _v_).before_superclass_abstract_ind(this, superclass_abstract_ind); ((UniversalVisitor) _v_).after_superclass_abstract_ind(this, superclass_abstract_ind); } if (mixed_content_ind != null) { ((UniversalVisitor) _v_).before_mixed_content_ind(this, mixed_content_ind); ((UniversalVisitor) _v_).after_mixed_content_ind(this, mixed_content_ind); } universal_trv0_aft(_v_); } void printClasses_CDDef_trv_bef(GenerateCDVisitor __v0) { ((GenerateCDVisitor) __v0).before(this); } void printClasses_CDDef_trv_aft(GenerateCDVisitor __v0) { ((GenerateCDVisitor) __v0).after(this); } void printClasses_CDDef_trv(GenerateCDVisitor __v0) { printClasses_CDDef_trv_bef(__v0); ((UniversalVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((UniversalVisitor) __v0).before_category(this, category); ((UniversalVisitor) __v0).after_category(this, category); ((UniversalVisitor) __v0).before_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).after_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).before_subclasses(this, subclasses); subclasses.printClasses_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_subclasses(this, subclasses); ((UniversalVisitor) __v0).before_attr_parts(this, attr_parts); attr_parts.printClasses_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_attr_parts(this, attr_parts); ((UniversalVisitor) __v0).before_element_parts(this, element_parts); element_parts.printClasses_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_element_parts(this, element_parts); if (superclass != null) { ((UniversalVisitor) __v0).before_superclass(this, superclass); ((UniversalVisitor) __v0).after_superclass(this, superclass); } if (superclass_abstract_ind != null) { ((UniversalVisitor) __v0).before_superclass_abstract_ind(this, superclass_abstract_ind); ((UniversalVisitor) __v0).after_superclass_abstract_ind(this, superclass_abstract_ind); } if (mixed_content_ind != null) { ((UniversalVisitor) __v0).before_mixed_content_ind(this, mixed_content_ind); ((UniversalVisitor) __v0).after_mixed_content_ind(this, mixed_content_ind); } printClasses_CDDef_trv_aft(__v0); } 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_aro_DataClass(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((UniversalVisitor) __v0).before_category(this, category); ((UniversalVisitor) __v0).after_category(this, category); ((UniversalVisitor) __v0).before_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).after_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).before_subclasses(this, subclasses); subclasses.printInits_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_subclasses(this, subclasses); ((UniversalVisitor) __v0).before_attr_parts(this, attr_parts); attr_parts.printInits_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_attr_parts(this, attr_parts); ((UniversalVisitor) __v0).before_element_parts(this, element_parts); element_parts.printInits_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_element_parts(this, element_parts); if (superclass != null) { ((UniversalVisitor) __v0).before_superclass(this, superclass); ((UniversalVisitor) __v0).after_superclass(this, superclass); } if (superclass_abstract_ind != null) { ((UniversalVisitor) __v0).before_superclass_abstract_ind(this, superclass_abstract_ind); ((UniversalVisitor) __v0).after_superclass_abstract_ind(this, superclass_abstract_ind); } if (mixed_content_ind != null) { ((UniversalVisitor) __v0).before_mixed_content_ind(this, mixed_content_ind); ((UniversalVisitor) __v0).after_mixed_content_ind(this, mixed_content_ind); } } static java.lang.reflect.Method printInits_CDDef_trv_aro_DataClass; static { try { printInits_CDDef_trv_aro_DataClass = DataClass.class.getDeclaredMethod("printInits_CDDef_trv_aro_DataClass", new Class[] { GenerateInitsVisitor.class }); } catch (NoSuchMethodException e) { throw new RuntimeException(e.toString()); } } void printInits_CDDef_trv(GenerateInitsVisitor __v0) { printInits_CDDef_trv_bef(__v0); ((GenerateInitsVisitor) __v0).around(new __Subtraversal(printInits_CDDef_trv_aro_DataClass, this, new Object[] { __v0 }), this); printInits_CDDef_trv_aft(__v0); } 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_aro_DataClass(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((UniversalVisitor) __v0).before_category(this, category); ((UniversalVisitor) __v0).after_category(this, category); ((UniversalVisitor) __v0).before_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).after_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).before_subclasses(this, subclasses); subclasses.printValidations_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_subclasses(this, subclasses); ((UniversalVisitor) __v0).before_attr_parts(this, attr_parts); attr_parts.printValidations_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_attr_parts(this, attr_parts); ((UniversalVisitor) __v0).before_element_parts(this, element_parts); element_parts.printValidations_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_element_parts(this, element_parts); if (superclass != null) { ((UniversalVisitor) __v0).before_superclass(this, superclass); ((UniversalVisitor) __v0).after_superclass(this, superclass); } if (superclass_abstract_ind != null) { ((UniversalVisitor) __v0).before_superclass_abstract_ind(this, superclass_abstract_ind); ((UniversalVisitor) __v0).after_superclass_abstract_ind(this, superclass_abstract_ind); } if (mixed_content_ind != null) { ((UniversalVisitor) __v0).before_mixed_content_ind(this, mixed_content_ind); ((UniversalVisitor) __v0).after_mixed_content_ind(this, mixed_content_ind); } } static java.lang.reflect.Method printValidations_CDDef_trv_aro_DataClass; static { try { printValidations_CDDef_trv_aro_DataClass = DataClass.class.getDeclaredMethod("printValidations_CDDef_trv_aro_DataClass", new Class[] { GenerateValidationsVisitor.class }); } catch (NoSuchMethodException e) { throw new RuntimeException(e.toString()); } } void printValidations_CDDef_trv(GenerateValidationsVisitor __v0) { printValidations_CDDef_trv_bef(__v0); ((GenerateValidationsVisitor) __v0).around(new __Subtraversal(printValidations_CDDef_trv_aro_DataClass, this, new Object[] { __v0 }), this); printValidations_CDDef_trv_aft(__v0); } void __trav_print_CDDef_trv_bef(DisplayVisitor __v0) { ((DisplayVisitor) __v0).before(this); } void __trav_print_CDDef_trv_aft(DisplayVisitor __v0) { ((DisplayVisitor) __v0).after(this); } void __trav_print_CDDef_trv(DisplayVisitor __v0) { __trav_print_CDDef_trv_bef(__v0); ((DisplayVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((DisplayVisitor) __v0).before_category(this, category); ((UniversalVisitor) __v0).after_category(this, category); ((DisplayVisitor) __v0).before_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).after_abstract_ind(this, abstract_ind); ((DisplayVisitor) __v0).before_subclasses(this, subclasses); subclasses.__trav_print_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_subclasses(this, subclasses); ((DisplayVisitor) __v0).before_attr_parts(this, attr_parts); attr_parts.__trav_print_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_attr_parts(this, attr_parts); ((DisplayVisitor) __v0).before_element_parts(this, element_parts); element_parts.__trav_print_CDDef_trv(__v0); ((UniversalVisitor) __v0).after_element_parts(this, element_parts); if (superclass != null) { ((DisplayVisitor) __v0).before_superclass(this, superclass); ((UniversalVisitor) __v0).after_superclass(this, superclass); } if (superclass_abstract_ind != null) { ((DisplayVisitor) __v0).before_superclass_abstract_ind(this, superclass_abstract_ind); ((UniversalVisitor) __v0).after_superclass_abstract_ind(this, superclass_abstract_ind); } if (mixed_content_ind != null) { ((DisplayVisitor) __v0).before_mixed_content_ind(this, mixed_content_ind); ((UniversalVisitor) __v0).after_mixed_content_ind(this, mixed_content_ind); } __trav_print_CDDef_trv_aft(__v0); } public void getPartInits(GenerateInitsVisitor __v0) { getPartInits_DataClass_trv(__v0); } 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_aro_DataClass(GenerateInitsVisitor __v0) { ((UniversalVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((UniversalVisitor) __v0).before_category(this, category); ((UniversalVisitor) __v0).after_category(this, category); ((UniversalVisitor) __v0).before_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).after_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).before_subclasses(this, subclasses); subclasses.getPartInits_DataClass_trv(__v0); ((UniversalVisitor) __v0).after_subclasses(this, subclasses); ((UniversalVisitor) __v0).before_attr_parts(this, attr_parts); attr_parts.getPartInits_DataClass_trv(__v0); ((UniversalVisitor) __v0).after_attr_parts(this, attr_parts); ((UniversalVisitor) __v0).before_element_parts(this, element_parts); element_parts.getPartInits_DataClass_trv(__v0); ((UniversalVisitor) __v0).after_element_parts(this, element_parts); if (superclass != null) { ((UniversalVisitor) __v0).before_superclass(this, superclass); ((UniversalVisitor) __v0).after_superclass(this, superclass); } if (superclass_abstract_ind != null) { ((UniversalVisitor) __v0).before_superclass_abstract_ind(this, superclass_abstract_ind); ((UniversalVisitor) __v0).after_superclass_abstract_ind(this, superclass_abstract_ind); } if (mixed_content_ind != null) { ((UniversalVisitor) __v0).before_mixed_content_ind(this, mixed_content_ind); ((UniversalVisitor) __v0).after_mixed_content_ind(this, mixed_content_ind); } } static java.lang.reflect.Method getPartInits_DataClass_trv_aro_DataClass; static { try { getPartInits_DataClass_trv_aro_DataClass = DataClass.class.getDeclaredMethod("getPartInits_DataClass_trv_aro_DataClass", new Class[] { GenerateInitsVisitor.class }); } catch (NoSuchMethodException e) { throw new RuntimeException(e.toString()); } } void getPartInits_DataClass_trv(GenerateInitsVisitor __v0) { getPartInits_DataClass_trv_bef(__v0); ((GenerateInitsVisitor) __v0).around(new __Subtraversal(getPartInits_DataClass_trv_aro_DataClass, this, new Object[] { __v0 }), this); getPartInits_DataClass_trv_aft(__v0); } public void getPartValidations(GenerateValidationsVisitor __v0) { getPartValidations_DataClass_trv(__v0); } 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_aro_DataClass(GenerateValidationsVisitor __v0) { ((UniversalVisitor) __v0).before_name(this, name); ((UniversalVisitor) __v0).after_name(this, name); ((UniversalVisitor) __v0).before_category(this, category); ((UniversalVisitor) __v0).after_category(this, category); ((UniversalVisitor) __v0).before_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).after_abstract_ind(this, abstract_ind); ((UniversalVisitor) __v0).before_subclasses(this, subclasses); subclasses.getPartValidations_DataClass_trv(__v0); ((UniversalVisitor) __v0).after_subclasses(this, subclasses); ((UniversalVisitor) __v0).before_attr_parts(this, attr_parts); attr_parts.getPartValidations_DataClass_trv(__v0); ((UniversalVisitor) __v0).after_attr_parts(this, attr_parts); ((UniversalVisitor) __v0).before_element_parts(this, element_parts); element_parts.getPartValidations_DataClass_trv(__v0); ((UniversalVisitor) __v0).after_element_parts(this, element_parts); if (superclass != null) { ((UniversalVisitor) __v0).before_superclass(this, superclass); ((UniversalVisitor) __v0).after_superclass(this, superclass); } if (superclass_abstract_ind != null) { ((UniversalVisitor) __v0).before_superclass_abstract_ind(this, superclass_abstract_ind); ((UniversalVisitor) __v0).after_superclass_abstract_ind(this, superclass_abstract_ind); } if (mixed_content_ind != null) { ((UniversalVisitor) __v0).before_mixed_content_ind(this, mixed_content_ind); ((UniversalVisitor) __v0).after_mixed_content_ind(this, mixed_content_ind); } } static java.lang.reflect.Method getPartValidations_DataClass_trv_aro_DataClass; static { try { getPartValidations_DataClass_trv_aro_DataClass = DataClass.class.getDeclaredMethod("getPartValidations_DataClass_trv_aro_DataClass", new Class[] { GenerateValidationsVisitor.class }); } catch (NoSuchMethodException e) { throw new RuntimeException(e.toString()); } } void getPartValidations_DataClass_trv(GenerateValidationsVisitor __v0) { getPartValidations_DataClass_trv_bef(__v0); ((GenerateValidationsVisitor) __v0).around(new __Subtraversal(getPartValidations_DataClass_trv_aro_DataClass, this, new Object[] { __v0 }), this); getPartValidations_DataClass_trv_aft(__v0); } }