Class AbstractRecorder

java.lang.Object
mondrian.recorder.AbstractRecorder
All Implemented Interfaces:
MessageRecorder
Direct Known Subclasses:
ListRecorder, LoggerRecorder, PrintStreamRecorder

public abstract class AbstractRecorder extends Object implements MessageRecorder
Abstract implemention of the MessageRecorder interface.
Author:
Richard M. Emberson
  • Field Details

  • Constructor Details

    • AbstractRecorder

      protected AbstractRecorder()
    • AbstractRecorder

      protected AbstractRecorder(int errorMsgLimit)
  • Method Details

    • logMessage

      public static void logMessage(String context, String msg, mondrian.recorder.AbstractRecorder.MsgType msgType, org.apache.logging.log4j.Logger logger)
      Helper method to format a message and write to logger.
    • clear

      public void clear()
      Resets this MessageRecorder.
      Specified by:
      clear in interface MessageRecorder
    • getStartTimeMillis

      public long getStartTimeMillis()
      Description copied from interface: MessageRecorder
      Get the time when the MessageRecorder was created or the last time that the clear method was called.
      Specified by:
      getStartTimeMillis in interface MessageRecorder
      Returns:
      the start time
    • getRunTimeMillis

      public long getRunTimeMillis()
      Description copied from interface: MessageRecorder
      How long the MessageRecorder has been running since it was created or the last time clear was called.
      Specified by:
      getRunTimeMillis in interface MessageRecorder
    • hasInformation

      public boolean hasInformation()
      Description copied from interface: MessageRecorder
      Returns true if there are one or more informational messages.
      Specified by:
      hasInformation in interface MessageRecorder
      Returns:
      true if there are one or more infos.
    • hasWarnings

      public boolean hasWarnings()
      Description copied from interface: MessageRecorder
      Returns true if there are one or more warning messages.
      Specified by:
      hasWarnings in interface MessageRecorder
      Returns:
      true if there are one or more warnings.
    • hasErrors

      public boolean hasErrors()
      Description copied from interface: MessageRecorder
      Returns true if there are one or more error messages.
      Specified by:
      hasErrors in interface MessageRecorder
      Returns:
      true if there are one or more errors.
    • getInfoCount

      public int getInfoCount()
    • getWarningCount

      public int getWarningCount()
    • getErrorCount

      public int getErrorCount()
    • getContext

      public String getContext()
      Description copied from interface: MessageRecorder
      Get the current context string.
      Specified by:
      getContext in interface MessageRecorder
      Returns:
      the context string.
    • pushContextName

      public void pushContextName(String name)
      Description copied from interface: MessageRecorder
      Add the name parameter to the current context.
      Specified by:
      pushContextName in interface MessageRecorder
    • popContextName

      public void popContextName()
      Description copied from interface: MessageRecorder
      Remove the last context name added.
      Specified by:
      popContextName in interface MessageRecorder
    • throwRTException

      public void throwRTException() throws RecorderException
      Description copied from interface: MessageRecorder
      This simply throws a RTException. A client calls this if 1) there is one or more error messages reported and 2) the client wishes to stop processing. Implementations of this method should only throw the RTException if there have been errors reported - if there are no errors, then this method does nothing.
      Specified by:
      throwRTException in interface MessageRecorder
      Throws:
      RecorderException
    • reportError

      public void reportError(Exception ex) throws RecorderException
      Description copied from interface: MessageRecorder
      Add an Exception.
      Specified by:
      reportError in interface MessageRecorder
      Parameters:
      ex - the Exception added.
      Throws:
      RecorderException - if too many error messages have been added.
    • reportError

      public void reportError(Exception ex, Object info) throws RecorderException
      Description copied from interface: MessageRecorder
      Add an Exception and extra informaton.
      Specified by:
      reportError in interface MessageRecorder
      Parameters:
      ex - the Exception added.
      info - extra information (not meant to be part of printed message)
      Throws:
      RecorderException - if too many error messages have been added.
    • reportError

      public void reportError(String msg) throws RecorderException
      Description copied from interface: MessageRecorder
      Add an error message.
      Specified by:
      reportError in interface MessageRecorder
      Parameters:
      msg - the text of the error message.
      Throws:
      RecorderException - if too many error messages have been added.
    • reportError

      public void reportError(String msg, Object info) throws RecorderException
      Description copied from interface: MessageRecorder
      Add an error message and extra information.
      Specified by:
      reportError in interface MessageRecorder
      Parameters:
      msg - the text of the error message.
      info - extra information (not meant to be part of printed message)
      Throws:
      RecorderException - if too many error messages have been added.
    • reportWarning

      public void reportWarning(String msg)
      Description copied from interface: MessageRecorder
      Add a warning message.
      Specified by:
      reportWarning in interface MessageRecorder
      Parameters:
      msg - the text of the warning message.
    • reportWarning

      public void reportWarning(String msg, Object info)
      Description copied from interface: MessageRecorder
      Add a warning message and extra information.
      Specified by:
      reportWarning in interface MessageRecorder
      Parameters:
      msg - the text of the warning message.
      info - extra information (not meant to be part of printed message)
    • reportInfo

      public void reportInfo(String msg)
      Description copied from interface: MessageRecorder
      Add an informational message.
      Specified by:
      reportInfo in interface MessageRecorder
      Parameters:
      msg - the text of the info message.
    • reportInfo

      public void reportInfo(String msg, Object info)
      Description copied from interface: MessageRecorder
      Add an informational message and extra information.
      Specified by:
      reportInfo in interface MessageRecorder
      Parameters:
      msg - the text of the info message.
      info - extra information (not meant to be part of printed message)
    • recordMessage

      protected abstract void recordMessage(String msg, Object info, mondrian.recorder.AbstractRecorder.MsgType msgType)
      Handles a message. Classes implementing this abstract class must provide an implemention of this method; it receives all warning/error messages.
      Parameters:
      msg - the error or warning message.
      info - the information Object which might be null.
      msgType - one of the message type enum values