 
	import java.io.*;
	import java.util.*;
	import demeter.*;
	import java.lang.*;


import demeter.*;
class Non_Empty_RootClass extends RootClass implements Cloneable {
  private Ident className;
  public Ident get_className() { return className; }
  public void set_className(Ident new_className)
    { className = new_className; }
  private SubClass1 subclass1;
  public SubClass1 get_subclass1() { return subclass1; }
  public void set_subclass1(SubClass1 new_subclass1)
    { subclass1 = new_subclass1; }
  Non_Empty_RootClass() { }
  public Non_Empty_RootClass(Ident className, SubClass1 subclass1) {
    super();
    set_className(className);
    set_subclass1(subclass1);
  }
  public static Non_Empty_RootClass parse(java.io.InputStream in) throws ParseError
    { return new Parser(in)._Non_Empty_RootClass(); }
  public static Non_Empty_RootClass parse(String str) throws ParseError
    { return parse(new java.io.StringBufferInputStream(str)); }

                Ident slot_name() { return className; }
          public void all_trv1_bef(AppendVisitor av) {
    super.all_trv1_bef(av);
    av.before(this);
  }
  public void all_trv1_aft(AppendVisitor av) {
    av.after(this);
    super.all_trv1_aft(av);
  }
  public void all_trv1(AppendVisitor av) {
    all_trv1_bef(av);
    subclass1.all_trv1(av);
    super.all_trv1(av);
    all_trv1_aft(av);
  }
}

