Package mondrian.recorder
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 theMessageRecorder
interface.- Author:
- Richard M. Emberson
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_MSG_LIMIT
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractRecorder()
protected
AbstractRecorder(int errorMsgLimit)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
clear()
Resets this MessageRecorder.String
getContext()
Get the current context string.int
getErrorCount()
int
getInfoCount()
long
getRunTimeMillis()
How long the MessageRecorder has been running since it was created or the last time clear was called.long
getStartTimeMillis()
Get the time when the MessageRecorder was created or the last time that the clear method was called.int
getWarningCount()
boolean
hasErrors()
Returns true if there are one or more error messages.boolean
hasInformation()
Returns true if there are one or more informational messages.boolean
hasWarnings()
Returns true if there are one or more warning messages.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.void
popContextName()
Remove the last context name added.void
pushContextName(String name)
Add the name parameter to the current context.protected abstract void
recordMessage(String msg, Object info, mondrian.recorder.AbstractRecorder.MsgType msgType)
Handles a message.void
reportError(Exception ex)
Add an Exception.void
reportError(Exception ex, Object info)
Add an Exception and extra informaton.void
reportError(String msg)
Add an error message.void
reportError(String msg, Object info)
Add an error message and extra information.void
reportInfo(String msg)
Add an informational message.void
reportInfo(String msg, Object info)
Add an informational message and extra information.void
reportWarning(String msg)
Add a warning message.void
reportWarning(String msg, Object info)
Add a warning message and extra information.void
throwRTException()
This simply throws a RTException.
-
-
-
Field Detail
-
DEFAULT_MSG_LIMIT
public static final int DEFAULT_MSG_LIMIT
- See Also:
- Constant Field Values
-
-
Method Detail
-
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 interfaceMessageRecorder
-
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 interfaceMessageRecorder
- 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 interfaceMessageRecorder
-
hasInformation
public boolean hasInformation()
Description copied from interface:MessageRecorder
Returns true if there are one or more informational messages.- Specified by:
hasInformation
in interfaceMessageRecorder
- 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 interfaceMessageRecorder
- 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 interfaceMessageRecorder
- 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 interfaceMessageRecorder
- 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 interfaceMessageRecorder
-
popContextName
public void popContextName()
Description copied from interface:MessageRecorder
Remove the last context name added.- Specified by:
popContextName
in interfaceMessageRecorder
-
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 interfaceMessageRecorder
- Throws:
RecorderException
-
reportError
public void reportError(Exception ex) throws RecorderException
Description copied from interface:MessageRecorder
Add an Exception.- Specified by:
reportError
in interfaceMessageRecorder
- 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 interfaceMessageRecorder
- 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 interfaceMessageRecorder
- 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 interfaceMessageRecorder
- 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 interfaceMessageRecorder
- 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 interfaceMessageRecorder
- 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 interfaceMessageRecorder
- 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 interfaceMessageRecorder
- 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
-
-