import demeter.*; class PrintVisitor extends UniversalVisitor implements Cloneable { protected int indent; public int get_indent() { return indent; } public void set_indent(int new_indent) { indent = new_indent; } protected boolean needSpace; public boolean get_needSpace() { return needSpace; } public void set_needSpace(boolean new_needSpace) { needSpace = new_needSpace; } PrintVisitor() { super(); } public PrintVisitor(int indent, boolean needSpace) { super(); set_indent(indent); set_needSpace(needSpace); } private void space() { if (needSpace) out.print(" "); needSpace = false; } private java.io.PrintWriter out = new java.io.PrintWriter(System.out, true); java.io.PrintWriter get_out() { return out; } void set_out(java.io.PrintWriter new_out) { out = new_out; } PrintVisitor(java.io.PrintWriter out) { set_out(out); } PrintVisitor(java.io.PrintStream out) { set_out(new java.io.PrintWriter(out)); } public void before_personname(Person source, Ident dest) { out.print("["); needSpace = false; space(); out.print("person"); needSpace = true; space(); out.print(source.get_personname()); needSpace = true; } public void before_spouse(Person source, Person dest) { space(); out.print("spouse"); needSpace = true; } public void before_siblings(Person source, Person_NList dest) { space(); out.print("siblings"); needSpace = true; } public void after(Person host) { out.print("]"); needSpace = false; } public void before_indent(PrintVisitor source, int dest) { space(); out.print(source.get_indent()); needSpace = true; } public void before_needSpace(PrintVisitor source, boolean dest) { space(); out.print(source.get_needSpace()); needSpace = true; } public void before_is_equal(EqualVisitor source, boolean dest) { space(); out.print(source.get_is_equal()); needSpace = true; } public void before_indent(DisplayVisitor source, int dest) { space(); out.print(source.get_indent()); needSpace = true; } public void before_indent(TraceVisitor source, int dest) { space(); out.print(source.get_indent()); needSpace = true; } void universal_trv0_bef(UniversalVisitor _v_) { super.universal_trv0_bef(_v_); } void universal_trv0_aft(UniversalVisitor _v_) { super.universal_trv0_aft(_v_); } void universal_trv0(UniversalVisitor _v_) { universal_trv0_bef(_v_); super.universal_trv0(_v_); universal_trv0_aft(_v_); } }