import edu.neu.ccs.demeter.*;
class DAJ {
  protected TraversalAspect_List traversalaspect_list;
  public TraversalAspect_List get_traversalaspect_list() { return traversalaspect_list; }
  public void set_traversalaspect_list(TraversalAspect_List new_traversalaspect_list) { traversalaspect_list = new_traversalaspect_list; }
  public DAJ() { super(); }
  public DAJ(TraversalAspect_List traversalaspect_list) {
    super();
    set_traversalaspect_list(traversalaspect_list);
  }
  public static DAJ parse(java.io.Reader in) throws ParseException { return new Parser(in)._DAJ(); }
  public static DAJ parse(java.io.InputStream in) throws ParseException { return new Parser(in)._DAJ(); }
  public static DAJ parse(String s) {
    try { return parse(new java.io.StringReader(s)); }
    catch (ParseException e) {
      throw new RuntimeException(e.toString());
    }
  }
  void display() {
    DisplayVisitor v0 = new DisplayVisitor();
    v0.start();
    __trav_display(v0);
    v0.finish();
  }
  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_traversalaspect_list(this, traversalaspect_list);
    traversalaspect_list.universal_trv0(_v_);
    ((UniversalVisitor) _v_).after_traversalaspect_list(this, traversalaspect_list);
    universal_trv0_aft(_v_);
  }

  public void __trav_display(DisplayVisitor __v0) {
    __trav_display_DAJ_trv(__v0);
  }

  void __trav_display_DAJ_trv_bef(DisplayVisitor __v0) {
    ((DisplayVisitor) __v0).before(this);
  }

  void __trav_display_DAJ_trv_aft(DisplayVisitor __v0) {
    ((DisplayVisitor) __v0).after(this);
  }

  void __trav_display_DAJ_trv(DisplayVisitor __v0) {
    __trav_display_DAJ_trv_bef(__v0);
    ((DisplayVisitor) __v0).before_traversalaspect_list(this, traversalaspect_list);
    traversalaspect_list.__trav_display_DAJ_trv(__v0);
    ((UniversalVisitor) __v0).after_traversalaspect_list(this, traversalaspect_list);
    __trav_display_DAJ_trv_aft(__v0);
  }

}

