import edu.neu.ccs.demeter.*; class ShoeOrder { protected String id; public String get_id() { return id; } public void set_id(String new_id) { id = new_id; } protected String style; public String get_style() { return style; } public void set_style(String new_style) { style = new_style; } protected Ident color; public Ident get_color() { return color; } public void set_color(Ident new_color) { color = new_color; } protected String size; public String get_size() { return size; } public void set_size(String new_size) { size = new_size; } protected Width width; public Width get_width() { return width; } public void set_width(Width new_width) { width = new_width; } protected Store_List stores; public Store_List get_stores() { return stores; } public void set_stores(Store_List new_stores) { stores = new_stores; } public ShoeOrder() { super(); } public ShoeOrder(String id, String style, Ident color, String size, Width width, Store_List stores) { super(); set_id(id); set_style(style); set_color(color); set_size(size); set_width(width); set_stores(stores); } public static ShoeOrder parse(java.io.Reader in) throws ParseException { return new Parser(in)._ShoeOrder(); } public static ShoeOrder parse(java.io.InputStream in) throws ParseException { return new Parser(in)._ShoeOrder(); } public static ShoeOrder parse(String s) { try { return parse(new java.io.StringReader(s)); } catch (ParseException e) { throw new RuntimeException(e.toString()); } } public void print() { PrintVisitor v0 = new PrintVisitor(); v0.start(); toAll(v0); v0.finish(); } public void display() { DisplayVisitor v0 = new DisplayVisitor(); v0.start(); toAll(v0); v0.finish(); } public void trace() { TraceVisitor v0 = new TraceVisitor(); v0.start(); toAll(v0); v0.finish(); } public int sum() { SummingVisitor v0 = new SummingVisitor(); v0.start(); toAllQuantities(v0); v0.finish(); return v0.get_return_val(); } public int sumWithDebugging() { SummingVisitor v0 = new SummingVisitor(); TraceVisitor v1 = new TraceVisitor(); v0.start(); v1.start(); __trav_sumWithDebugging(v0, v1); v1.finish(); v0.finish(); return v0.get_return_val(); } public ShoeOrder copy() { CopyVisitor cv = new CopyVisitor(ShoeOrder.class); this.toAll(cv); return (ShoeOrder) cv.get_return_val(); } public boolean equal(Object o) { EqualVisitor ev = new EqualVisitor(o); this.toAll(ev); return ev.get_return_val(); } 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_id(this, id); ((UniversalVisitor) _v_).after_id(this, id); ((UniversalVisitor) _v_).before_style(this, style); ((UniversalVisitor) _v_).after_style(this, style); ((UniversalVisitor) _v_).before_color(this, color); ((UniversalVisitor) _v_).after_color(this, color); ((UniversalVisitor) _v_).before_size(this, size); ((UniversalVisitor) _v_).after_size(this, size); ((UniversalVisitor) _v_).before_width(this, width); width.universal_trv0(_v_); ((UniversalVisitor) _v_).after_width(this, width); if (stores != null) { ((UniversalVisitor) _v_).before_stores(this, stores); stores.universal_trv0(_v_); ((UniversalVisitor) _v_).after_stores(this, stores); } universal_trv0_aft(_v_); } public void toAll(UniversalVisitor __v0) { toAll_ShoeOrder_trv(__v0); } void toAll_ShoeOrder_trv_bef(UniversalVisitor __v0) { ((UniversalVisitor) __v0).before(this); } void toAll_ShoeOrder_trv_aft(UniversalVisitor __v0) { ((UniversalVisitor) __v0).after(this); } void toAll_ShoeOrder_trv(UniversalVisitor __v0) { toAll_ShoeOrder_trv_bef(__v0); ((UniversalVisitor) __v0).before_id(this, id); ((UniversalVisitor) __v0).after_id(this, id); ((UniversalVisitor) __v0).before_style(this, style); ((UniversalVisitor) __v0).after_style(this, style); ((UniversalVisitor) __v0).before_color(this, color); ((UniversalVisitor) __v0).after_color(this, color); ((UniversalVisitor) __v0).before_size(this, size); ((UniversalVisitor) __v0).after_size(this, size); ((UniversalVisitor) __v0).before_width(this, width); width.toAll_ShoeOrder_trv(__v0); ((UniversalVisitor) __v0).after_width(this, width); if (stores != null) { ((UniversalVisitor) __v0).before_stores(this, stores); stores.toAll_ShoeOrder_trv(__v0); ((UniversalVisitor) __v0).after_stores(this, stores); } toAll_ShoeOrder_trv_aft(__v0); } public void toAllQuantities(UniversalVisitor __v0) { toAllQuantities_ShoeOrder_trv(__v0); } void toAllQuantities_ShoeOrder_trv_bef(UniversalVisitor __v0) { ((UniversalVisitor) __v0).before(this); } void toAllQuantities_ShoeOrder_trv_aft(UniversalVisitor __v0) { ((UniversalVisitor) __v0).after(this); } void toAllQuantities_ShoeOrder_trv(UniversalVisitor __v0) { toAllQuantities_ShoeOrder_trv_bef(__v0); if (stores != null) { ((UniversalVisitor) __v0).before_stores(this, stores); stores.toAllQuantities_ShoeOrder_trv(__v0); ((UniversalVisitor) __v0).after_stores(this, stores); } toAllQuantities_ShoeOrder_trv_aft(__v0); } public void __trav_sumWithDebugging(SummingVisitor __v0, TraceVisitor __v1) { __trav_sumWithDebugging_ShoeOrder_trv(__v0, __v1); } void __trav_sumWithDebugging_ShoeOrder_trv_bef(SummingVisitor __v0, TraceVisitor __v1) { ((UniversalVisitor) __v0).before(this); ((TraceVisitor) __v1).before(this); } void __trav_sumWithDebugging_ShoeOrder_trv_aft(SummingVisitor __v0, TraceVisitor __v1) { ((TraceVisitor) __v1).after(this); ((UniversalVisitor) __v0).after(this); } void __trav_sumWithDebugging_ShoeOrder_trv(SummingVisitor __v0, TraceVisitor __v1) { __trav_sumWithDebugging_ShoeOrder_trv_bef(__v0, __v1); if (stores != null) { ((UniversalVisitor) __v0).before_stores(this, stores); ((TraceVisitor) __v1).before_stores(this, stores); stores.__trav_sumWithDebugging_ShoeOrder_trv(__v0, __v1); ((TraceVisitor) __v1).after_stores(this, stores); ((UniversalVisitor) __v0).after_stores(this, stores); } __trav_sumWithDebugging_ShoeOrder_trv_aft(__v0, __v1); } }