com.gargoylesoftware.base.trace

Class TraceItemDispatcher

public class TraceItemDispatcher extends Object implements Runnable

Internal use only.

.

A dispatcher for TraceItems

Version: $Revision: 1.8 $

Author: Mike Bowler

Field Summary
static intbufferStatus_
static intBUFFER_DISABLED
static intBUFFER_ENABLED
static intBUFFER_SHUTTING_DOWN
intcacheMaxSize_
TraceItemQueuecacheTraceItemQueue_
TraceItemQueuetraceQueue_
static FormatTIMESTAMP_FORMAT
Constructor Summary
TraceItemDispatcher()
Method Summary
protected voidassertNotNull(String fieldName, Object fieldValue)
Verify that the specified value is not null.
static voiddefaultTraceWriter(TraceItem item)
Provide default behaviour
voiddispatch(TraceItem item)
Add an item to the trace queue.
voiddisposeTraceItem(TraceItem item)
Dispose of a trace item.
voiddumpTraceElement(TraceItem item)
Format an item and print it to standard out.
voidflush()
TraceItemgetNewTraceItem()
Return a trace item
TraceItemQueuegetTraceItemQueue()
Get the queue.
booleanisBufferingEnabled()
Return true if buffering is enabled.
voidrun()
voidsetBufferingEnabled(boolean enabled)
Set whether or not to buffer the output of the trace calls.
voidwaitForQueueToEmpty()

Field Detail

bufferStatus_

private static int bufferStatus_

BUFFER_DISABLED

private static final int BUFFER_DISABLED

BUFFER_ENABLED

private static final int BUFFER_ENABLED

BUFFER_SHUTTING_DOWN

private static final int BUFFER_SHUTTING_DOWN

cacheMaxSize_

private int cacheMaxSize_

cacheTraceItemQueue_

private TraceItemQueue cacheTraceItemQueue_

traceQueue_

private final TraceItemQueue traceQueue_

TIMESTAMP_FORMAT

private static final Format TIMESTAMP_FORMAT

Constructor Detail

TraceItemDispatcher

public TraceItemDispatcher()

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

defaultTraceWriter

private static void defaultTraceWriter(TraceItem item)
Provide default behaviour

Parameters: item The item to print

dispatch

public void dispatch(TraceItem item)
Add an item to the trace queue.

Parameters: item The item to add.

disposeTraceItem

public void disposeTraceItem(TraceItem item)
Dispose of a trace item. Disposing will put the trace item back on a queue for reuse.

Parameters: item The item to dispose.

dumpTraceElement

private void dumpTraceElement(TraceItem item)
Format an item and print it to standard out.

Parameters: item the item to print.

flush

public void flush()

getNewTraceItem

public TraceItem getNewTraceItem()
Return a trace item

Returns: The new trace item.

getTraceItemQueue

public TraceItemQueue getTraceItemQueue()
Get the queue.

Returns: The queue.

isBufferingEnabled

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

Returns: true if buffering is enabled.

run

public void run()

setBufferingEnabled

public void setBufferingEnabled(boolean enabled)
Set whether or not to buffer the output of the trace calls. Buffering will increase perceived performance significantly.

Parameters: enabled True if buffering should be enabled

waitForQueueToEmpty

private void waitForQueueToEmpty()