6.2.7 JSMTraceインターフェース

LANSA Integrator

6.2.7 JSMTraceインターフェース


 

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 ) ;

}

 

JSMTraceオブジェクトを使用すると、サービス・クラスを作成したプログラマはトレース情報を書き出すことができます。

JSMTraceオブジェクトがnullではない場合、トレース・ファイルが存在するためそのファイルに書き込むことができます。

Stringテキストは、トレース・ファイルにUTF-8エンコードで書き込まれます。

printlnメソッドは、UTF-8エンコード・バイトの最後にCRLF (0x0D0x0A)を追加します。

Stringテキストに「\n」を埋め込まず、printメソッドとprintlnメソッドを使用することをお勧めします。

 

    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.LOAD ) )

       {

           return new JSMResponse ( "Command has completed" ) ;

       }

      

       return new JSMResponse ( JSMResponse.ERROR, "Unknown command" ) ;

   }