6.2.7 JSMTrace Interface
public interface JSMTrace
{
public void flush () ;
public int getNumber () ;
public File createTraceFile ( String fileName ) ;
public void print ( String text ) ;
public void println ( String text ) ;
public void println ( Object object1, Object object2 ) ;
public void println ( Object object1, Object object2, Object object3 ) ;
public void println ( Object object1, Object object2, Object object3, Object object4 ) ;
public void println ( Object object1, Object object2, Object object3, Object object4, Object object5 ) ;
public void println ( Object object1, Object object2, Object object3, Object object4, Object object5, Object object6 ) ;
public void println ( Object object1, Object object2, Object object3, Object object4, Object object5, Object object6, Object object7 ) ;
public void println ( Object object1, Object object2, Object object3, Object object4, Object object5, Object object6, Object object7, Object object8 ) ;
public void print ( Throwable throwable ) ;
public void print ( JSMCommand command ) ;
public void print ( JSMCommand command, JSMResponse response ) ;
public void print ( JSMCommand command, Throwable throwable ) ;
}
The JSMTrace object allows the programmer who wrote the service class to write out trace information.
If the JSMTrace object is not null, you can write to a trace file because it exists.
String text is written to the trace file UTF-8 encoded.
The println method appends CRLF (0x0D0x0A) to the end of the UTF-8 encoded bytes.
It is recommended not to embed "\n" in the String text, but use the print and println methods.
Example
public final void service ( JSMContainer container )
{
m_trace = container.getServiceTrace () ;
}
public final JSMResponse command ( JSMCommand command ) throws JSMException
{
try
{
if ( m_trace != null )
{
m_trace.print ( command ) ;
}
JSMResponse response = runCommand ( command ) ;
if ( m_trace != null )
{
m_trace.print ( command, response ) ;
}
return response ;
}
catch ( Throwable t )
{
if ( m_trace != null )
{
m_trace.print ( command, t ) ;
}
return new JSMResponse ( t ) ;
}
}
private final JSMResponse runCommand ( JSMCommand command ) throws Exception
{
if ( command.equals ( command.SERVICE_LOAD ) )
{
return new JSMResponse ( "Command has completed" ) ;
}
return new JSMResponse ( JSMResponse.ERROR, "Unknown command" ) ;
}