Base class to check a value. More...
#include <ValueCheck.hpp>
Public Member Functions | |
virtual | ~ValueCheckBase () |
virtual bool | isValid (const BLOCXX_NAMESPACE::String &value) const =0 |
virtual BLOCXX_NAMESPACE::String | explain (const BLOCXX_NAMESPACE::String &value) const =0 |
Protected Member Functions | |
ValueCheckBase () | |
Private Member Functions | |
ValueCheckBase (const ValueCheckBase &) | |
ValueCheckBase & | operator= (const ValueCheckBase &) |
Private Attributes | |
BLOCXX_NAMESPACE::RefCount | m_rcnt |
Friends | |
class | ValueCheck |
Base class to check a value.
The ValueCheckBase class, is a abstract base class, allowing to implement a single check on a string value.
A check derived from this class can be combined in ValueCheck class to expressions.
virtual limal::ValueCheckBase::~ValueCheckBase | ( | ) | [inline, virtual] |
Destructor.
limal::ValueCheckBase::ValueCheckBase | ( | ) | [inline, protected] |
Default constructor.
limal::ValueCheckBase::ValueCheckBase | ( | const ValueCheckBase & | ) | [private] |
Copy constructor, private. Use the default constructor to implement a copy constructor in your derived class.
virtual BLOCXX_NAMESPACE ::String limal::ValueCheckBase::explain | ( | const BLOCXX_NAMESPACE::String & | value | ) | const [pure virtual] |
Returns a string explaining / showing the check.
For example, if your check implements the evaluation whether the value (e.g. "2"
) is lower than 5
, implement it as:
return blocxx::Format("MyCheck('%1' < 5)", value);
The resulting string will be "MyCheck('2' < 5)"
if the value parameter string was "2"
.
value | The value to evaluate. |
Implemented in limal::ValueCheck, and limal::ValueIntCheck.
virtual bool limal::ValueCheckBase::isValid | ( | const BLOCXX_NAMESPACE::String & | value | ) | const [pure virtual] |
Evaluates a check for the specified string value parameter to a boolean or throws an exception on failure.
For example, if you want a check that evaluates whether the value (e.g. "2"
) is lower than 5
, implement it as:
return (value.toInt() < 5);
The blocxx toInt() method may throw an string conversion exception.
value | The value to evaluate. |
Implemented in limal::ValueCheck, and limal::ValueIntCheck.
ValueCheckBase& limal::ValueCheckBase::operator= | ( | const ValueCheckBase & | ) | [private] |
Copy operator, private.
friend class ValueCheck [friend] |
Permit the ValueCheck class the access to the reference counter.
BLOCXX_NAMESPACE ::RefCount limal::ValueCheckBase::m_rcnt [private] |
The atomic reference counter variable.