Interface Diagnosticable

All Known Implementing Classes:
D_B2IController, D_BaseContainerHandle, D_BTreeController, D_ContainerKey, D_ContainerLock, D_FlushedScan, D_HeapController, D_LockControl, D_LogToFile, D_RecordId, D_RowLock, D_StoredPage, D_Xact, DiagnosticableGeneric

public interface Diagnosticable
The Diagnosticable class implements the Diagnostics protocol, and can be used as the parent class for all other Diagnosticable objects.
  • Method Summary

    Modifier and Type
    Method
    Description
    Default implementation of diagnostic on the object.
    void
    Default implementation of detail diagnostic on the object.
    void
    init(Object obj)
     
  • Method Details

    • init

      void init(Object obj)
    • diag

      String diag() throws StandardException
      Default implementation of diagnostic on the object.

      This routine returns a string with whatever diagnostic information you would like to provide about this associated object passed in the init() call.

      This routine should be overriden by a real implementation of the diagnostic information you would like to provide.

      Returns:
      A string with diagnostic information about the object.
      Throws:
      StandardException - Standard Derby exception policy
    • diag_detail

      void diag_detail(Properties prop) throws StandardException
      Default implementation of detail diagnostic on the object.

      This interface provides a way for an object to pass back pieces of information as requested by the caller. The information is passed back and forth through the properties argument. It is expected that the caller knows what kind of information to ask for, and correctly handles the situation when the diagnostic object can't provide the information.

      As an example assume an object TABLE exists, and that we have created an object D_TABLE that knows how to return the number of pages in the TABLE object. The code to get that information out would looks something like the following:

      print_num_pages(Object table) { Properties prop = new Properties(); prop.put(Page.DIAG_NUM_PAGES, ""); DiagnosticUtil.findDiagnostic(table).diag_detail(prop); System.out.println( "number of pages = " + prop.getProperty(Page.DIAG_NUM_PAGES)); }

      This routine should be overriden if there is detail diagnostics to be provided by a real implementation.

      Throws:
      StandardException - Standard Derby exception policy