com.gargoylesoftware.base.trace

Class TraceController

public class TraceController extends Object

A controller object for the tracing mechanism.

Version: $Revision: 1.4 $

Author: Mike Bowler

Field Summary
TraceChanneldefaultChannel_
PrintStreamsystemErr_
PrintStreamsystemOut_
Constructor Summary
TraceController()
Instantiate one
Method Summary
protected voidassertNotNull(String fieldName, Object fieldValue)
Verify that the specified value is not null.
voidclose()
Close down the debugging facilities in preparation for application shutdown.
TraceChannelgetDefaultChannel()
Return the default channel
PrintStreamgetRealSystemErr()
Return the real stream that corresponds to the console for System.err.
PrintStreamgetRealSystemOut()
Return the real stream that corresponds to the console for System.out.
booleanisBufferingEnabled()
Return true if buffering is enabled.
booleanisErrRedirected()
Return true if System.err has been redirected to print through Trace.println
booleanisOutRedirected()
Return true if System.out has been redirected to print through Trace.println
voidsetBufferingEnabled(boolean enabled)
Shutdown the tracing thread and flush the buffers.
voidsetDefaultChannel(TraceChannel channel)
Set the default channel.
voidsetErrRedirected(boolean redirected)
Specify whether or not System.err should be redirected to print through Trace.println
voidsetOutRedirected(boolean redirected)
Specify whether or not System.out should be redirected to print through Trace.println

Field Detail

defaultChannel_

private TraceChannel defaultChannel_

systemErr_

private PrintStream systemErr_

systemOut_

private PrintStream systemOut_

Constructor Detail

TraceController

TraceController()
Instantiate one

Method Detail

assertNotNull

protected final void assertNotNull(String fieldName, Object fieldValue)
Verify that the specified value is not null. If it is then throw an exception

Parameters: fieldName The name of the field to check fieldValue The value of the field to check

Throws: DetailedNullPointerException If fieldValue is null

close

public void close()
Close down the debugging facilities in preparation for application shutdown. This will disable the buffering and turn off redirections for System.out and System.err.

getDefaultChannel

public TraceChannel getDefaultChannel()
Return the default channel

Returns: the default channel.

getRealSystemErr

public PrintStream getRealSystemErr()
Return the real stream that corresponds to the console for System.err. If System.err has been redirected then this method will return the original value.

Returns: the real System.err

getRealSystemOut

public PrintStream getRealSystemOut()
Return the real stream that corresponds to the console for System.out. If System.out has been redirected then this method will return the original value.

Returns: the real System.out

isBufferingEnabled

public boolean isBufferingEnabled()
Return true if buffering is enabled.

Returns: true if buffering is enabled.

isErrRedirected

public boolean isErrRedirected()
Return true if System.err has been redirected to print through Trace.println

Returns: true if System.err has been redirected.

isOutRedirected

public boolean isOutRedirected()
Return true if System.out has been redirected to print through Trace.println

Returns: true if System.out has been redirected.

setBufferingEnabled

public void setBufferingEnabled(boolean enabled)
Shutdown the tracing thread and flush the buffers. Any print calls after this method has been called will be written immediately on the thread that made the call.

Parameters: enabled true if buffering is to be enabled.

setDefaultChannel

public void setDefaultChannel(TraceChannel channel)
Set the default channel. The default is used when a channel is not specified in a call to Trace.print(), Trace.println() or Trace.printStackTrace()

Parameters: channel the new channel.

setErrRedirected

public void setErrRedirected(boolean redirected)
Specify whether or not System.err should be redirected to print through Trace.println

Parameters: redirected true if System.err should be redirected.

setOutRedirected

public void setOutRedirected(boolean redirected)
Specify whether or not System.out should be redirected to print through Trace.println

Parameters: redirected true if System.out should be redirected.