package EDU.neu.ccs.demeter.tools.apstudio.graphedit;
import java.awt.*;
import java.io.*;
import java.util.*;
import EDU.neu.ccs.demeter.*;
import EDU.neu.ccs.demeter.common.tg.*;


import EDU.neu.ccs.demeter.*;
class ClassBehavior extends Behavior {
  protected ClassGlobSpec classes;
  public ClassGlobSpec get_classes() { return classes; }
  public void set_classes(ClassGlobSpec new_classes)
    { classes = new_classes; }
  protected ClassMethods methods;
  public ClassMethods get_methods() { return methods; }
  public void set_methods(ClassMethods new_methods)
    { methods = new_methods; }
  ClassBehavior() { super(); }
  public ClassBehavior(ClassGlobSpec classes, ClassMethods methods) {
    super();
    set_classes(classes);
    set_methods(methods);
  }
  public static ClassBehavior parse(java.io.InputStream in) throws ParseException
    { return new Parser(in)._ClassBehavior(); }
  public static ClassBehavior parse(String s) {
    try { return parse(new java.io.ByteArrayInputStream(s.getBytes())); }
    catch (ParseException e) { throw new RuntimeException(e.toString()); }
  }
  void universal_trv0_bef(UniversalVisitor _v_) {
    super.universal_trv0_bef(_v_);
    _v_.before(this);
  }
  void universal_trv0_aft(UniversalVisitor _v_) {
    _v_.after(this);
    super.universal_trv0_aft(_v_);
  }
  void universal_trv0(UniversalVisitor _v_) {
    universal_trv0_bef(_v_);
    _v_.before_classes(this, classes);
    classes.universal_trv0(_v_);
    _v_.after_classes(this, classes);
    _v_.before_methods(this, methods);
    methods.universal_trv0(_v_);
    _v_.after_methods(this, methods);
    super.universal_trv0(_v_);
    universal_trv0_aft(_v_);
  }
  void collectSgraphs_ProgramBehavior_trv(SGraphCollector sgc) {  }
  void checkStars_ProgramBehavior_trv_bef(DummyVisitor dv) {
    super.checkStars_ProgramBehavior_trv_bef(dv);
  }
  void checkStars_ProgramBehavior_trv_aft(DummyVisitor dv) {
    super.checkStars_ProgramBehavior_trv_aft(dv);
  }
  void checkStars_ProgramBehavior_trv(DummyVisitor dv) {
    checkStars_ProgramBehavior_trv_bef(dv);
    classes.checkStars_ProgramBehavior_trv(dv);
    methods.checkStars_ProgramBehavior_trv(dv);
    checkStars_ProgramBehavior_trv_aft(dv);
  }
}

