package org.pagecentric.util;
import java.io.PrintStream;
public class printer
{
private PrintStream s;
private int tabs;
private boolean buffering;
private StringBuffer buffer;
public printer( PrintStream stream )
{
this.tabs = 0;
this.buffering = false;
this.s = stream;
this.buffer = new StringBuffer();
}
public void println( String aString )
{
for ( int i=0; i < tabs; i++ ) writeout( "\t" );
writeout( aString );
writeout( "\n" );
}
private void writeout( String aString )
{
if ( buffering )
{
buffer.append( aString );
}
else
{
s.print( aString );
}
}
public void writeBuffer()
{
s.print( buffer.toString() );
buffer = new StringBuffer();
buffering = false;
}
public void indent( )
{
tabs++;
}
public void outdent( )
{
tabs--;
}
public void in( String aString )
{
inprint( aString );
}
public void out( String aString )
{
outprint( aString );
}
public void outprint( String aString )
{
outdent();
println( aString );
}
public void printf( String aString )
{
for ( int i=0; i < tabs; i++ ) writeout( "\t" );
writeout( aString );
}
public void inprint( String aString )
{
println( aString );
indent();
}
}