libStatGen Software
1
|
This class is used to track the status results of some methods in the BAM classes. More...
#include <StatGenStatus.h>
Public Types | |
enum | Status { SUCCESS = 0, UNKNOWN, NO_MORE_RECS, FAIL_IO, FAIL_ORDER, FAIL_PARSE, INVALID_SORT, INVALID, FAIL_MEM } |
Return value enum for StatGenFile methods. More... | |
Public Member Functions | |
StatGenStatus (ErrorHandler::HandlingType handleType=ErrorHandler::EXCEPTION) | |
Constructor that takes in the handling type, defaulting it to exception. | |
~StatGenStatus () | |
Destructor. | |
void | reset () |
Reset this status to a default state. | |
void | setHandlingType (ErrorHandler::HandlingType handleType) |
Set how to handle the errors when they are set. | |
void | setStatus (Status newStatus, const char *newMessage) |
Set the status with the specified status enum and message. | |
void | addError (Status newStatus, const char *newMessage) |
Add the specified error message to the status message, setting the status to newStatus if the current status is SUCCESS. | |
void | addError (StatGenStatus newStatus) |
Add the specified status to the status message, setting the status to newStatus if the current status is SUCCESS. | |
Status | getStatus () const |
Return the enum for this status object. | |
const char * | getStatusMessage () const |
Return the status message for this object. | |
StatGenStatus & | operator= (Status newStatus) |
Overload operator = to set the StatGen status type to the passed in status and to clear the message string. | |
StatGenStatus & | operator= (StatGenStatus newStatus) |
Overload operator = to copy the specified status object to this one. | |
bool | operator!= (const StatGenStatus::Status &compStatus) const |
Overload operator != to determine if the passed in type is not equal to this status's type. | |
bool | operator== (const StatGenStatus::Status &compStatus) const |
Overload operator == to determine if the passed in type is equal to this status's type. | |
Static Public Member Functions | |
static const char * | getStatusString (StatGenStatus::Status statusEnum) |
Return a string representation of the passed in status enum. | |
static bool | isContinuableStatus (StatGenStatus::Status status) |
Returns whether or not it is "safe" to keep processing the file after the specified status return. |
This class is used to track the status results of some methods in the BAM classes.
It contains a status enum that describing the status.
Definition at line 26 of file StatGenStatus.h.
Return value enum for StatGenFile methods.
Definition at line 31 of file StatGenStatus.h.
{ SUCCESS = 0, ///< method completed successfully. UNKNOWN, ///< unknown result (default value should never be used) /// NO_MORE_RECS: failed to read a record since there are no more to /// read either in the file or section if section based reading. NO_MORE_RECS, FAIL_IO, ///< method failed due to an I/O issue. /// FAIL_ORDER: method failed because it was called out of order, /// like trying to read a file without opening it for read or trying /// to read a record before the header. FAIL_ORDER, FAIL_PARSE, ///< failed to parse a record/header - invalid format. INVALID_SORT, ///< record is invalid due to it not being sorted. INVALID, ///< invalid other than for sorting. FAIL_MEM ///< fail a memory allocation. };
void StatGenStatus::addError | ( | Status | newStatus, |
const char * | newMessage | ||
) |
Add the specified error message to the status message, setting the status to newStatus if the current status is SUCCESS.
Definition at line 99 of file StatGenStatus.cpp.
References getStatusString(), and SUCCESS.
{ if(myType == StatGenStatus::SUCCESS) { myType = newStatus; } else { myMessage += "\n"; } myMessage += getStatusString(newStatus); myMessage += ": "; myMessage += newMessage; if(newStatus != SUCCESS) { handleError(newStatus, newMessage); } }
void StatGenStatus::addError | ( | StatGenStatus | newStatus | ) |
Add the specified status to the status message, setting the status to newStatus if the current status is SUCCESS.
Definition at line 122 of file StatGenStatus.cpp.
References SUCCESS.
{ if(myType == StatGenStatus::SUCCESS) { myType = newStatus.myType; } else { myMessage += "\n"; } myMessage += newStatus.myMessage; if(newStatus != SUCCESS) { handleError(newStatus.myType, newStatus.myMessage.c_str()); } }
bool StatGenStatus::isContinuableStatus | ( | StatGenStatus::Status | status | ) | [static] |
Returns whether or not it is "safe" to keep processing the file after the specified status return.
Definition at line 41 of file StatGenStatus.cpp.
References FAIL_PARSE, INVALID, INVALID_SORT, and SUCCESS.
{ if(status == StatGenStatus::SUCCESS || status == StatGenStatus::FAIL_PARSE || status == StatGenStatus::INVALID_SORT || status == StatGenStatus::INVALID) { // The status is such that file processing can continue. return(true); } // UNKNOWN, NO_MORE_RECS, FAIL_IO, FAIL_ORDER, FAIL_MEM return(false); }
bool StatGenStatus::operator!= | ( | const StatGenStatus::Status & | compStatus | ) | const |
Overload operator != to determine if the passed in type is not equal to this status's type.
Definition at line 182 of file StatGenStatus.cpp.
{
return(compStatus != myType);
}
StatGenStatus & StatGenStatus::operator= | ( | StatGenStatus::Status | newStatus | ) |
Overload operator = to set the StatGen status type to the passed in status and to clear the message string.
Definition at line 157 of file StatGenStatus.cpp.
References SUCCESS.
{ myType = newStatus; myMessage.clear(); if(newStatus != SUCCESS) { handleError(newStatus, ""); } return(*this); }
bool StatGenStatus::operator== | ( | const StatGenStatus::Status & | compStatus | ) | const |
Overload operator == to determine if the passed in type is equal to this status's type.
Definition at line 190 of file StatGenStatus.cpp.
{
return(compStatus == myType);
}