val_StrictString Class Reference
[Parser for config files; validation]

#include <val.h>

Inheritance diagram for val_StrictString:

Inheritance graph
[legend]
Collaboration diagram for val_StrictString:

Collaboration graph
[legend]

List of all members.


Detailed Description

StrictString does check leading and trailing spaces plus new lines inside string.

Definition at line 433 of file val.h.


Public Member Functions

 val_StrictString (const string &a_name, const val_Limit a_limits, const UInt32_t a_minNumOfVal=1, const UInt32_t a_maxNumOfVal=cfg_MAX_PATHNAME)
 val_StrictString (const string &a_name, const val_Limit a_limits, const UInt32_t a_minNumOfVal, const UInt32_t a_maxNumOfVal, const string &a_defaultPath)

Private Member Functions

virtual void CheckSpaces (const string &a_strVal)
virtual void Assign (const string &a_strVal)

Private Attributes

 log_CLASSID_m

Constructor & Destructor Documentation

val_StrictString::val_StrictString ( const string &  a_name,
const val_Limit  a_limits,
const UInt32_t  a_minNumOfVal = 1,
const UInt32_t  a_maxNumOfVal = cfg_MAX_PATHNAME 
) [inline]

Definition at line 435 of file val.h.

00440     : val_String(a_name, a_limits, a_minNumOfVal, a_maxNumOfVal) {
00441         // Empty
00442     };

val_StrictString::val_StrictString ( const string &  a_name,
const val_Limit  a_limits,
const UInt32_t  a_minNumOfVal,
const UInt32_t  a_maxNumOfVal,
const string &  a_defaultPath 
) [inline]

Definition at line 444 of file val.h.

00450     : val_String(a_name, a_limits, a_minNumOfVal, a_maxNumOfVal, a_defaultPath) {
00451         // Empty
00452     };


Member Function Documentation

void val_StrictString::CheckSpaces ( const string &  a_strVal  )  [private, virtual]

Definition at line 247 of file val.cpp.

References ie_INVALID_STRING, ivd_Error, and val_Value::m_name.

Referenced by Assign().

00247                                                          {
00248     if (a_strVal.length() == 0) {
00249         return;
00250     };
00251 
00252     if (isspace(a_strVal[0])  ){
00253         throw ivd_Error(ie_INVALID_STRING,
00254             string("space at begining of string:") + a_strVal +
00255             string(" at variable:") + m_name);
00256     }
00257     if (isspace(a_strVal[a_strVal.size()-1])) {
00258         throw ivd_Error(ie_INVALID_STRING,
00259             string("space at end of string:") + a_strVal +
00260             string(" at variable:") + m_name );
00261     }
00262     for (UInt32_t i = 0; i < a_strVal.size(); i++) {
00263         if (a_strVal[i] == '\n' )
00264             throw ivd_Error(ie_INVALID_STRING,
00265             string("NewLine inside of string:") + a_strVal +
00266             string(" at variable:") + m_name);
00267     }
00268 }

Here is the caller graph for this function:

void val_StrictString::Assign ( const string &  a_strVal  )  [private, virtual]

Reimplemented from val_String.

Definition at line 270 of file val.cpp.

References CheckSpaces(), val_String::m_str_p, and NULL.

00270                                                     {
00271     if (m_str_p == NULL) {
00272         return;
00273     };
00274 
00275     CheckSpaces(a_strVal);
00276     *m_str_p = a_strVal;
00277 }

Here is the call graph for this function:


Member Data Documentation

Reimplemented from val_String.

Reimplemented in val_ObjectName, val_Hostname, val_DbgLevel, and val_DbgFlags.

Definition at line 457 of file val.h.


The documentation for this class was generated from the following files:

Generated on Mon Feb 27 19:52:05 2012 for OPENARCHIVE by  doxygen 1.5.6