Open Lighting Architecture  0.9.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ola::web::BaseValidator Class Reference

Detailed Description

The base class for Json BaseValidators. All Visit methods return false.

Inheritance diagram for ola::web::BaseValidator:
ola::web::ValidatorInterface ola::web::JsonValueConstVisitorInterface ola::web::ArrayValidator ola::web::BoolValidator ola::web::ConjunctionValidator ola::web::IntegerValidator ola::web::NotValidator ola::web::NullValidator ola::web::ObjectValidator ola::web::StringValidator ola::web::WildcardValidator

Public Member Functions

virtual bool IsValid () const
 Check if the value was valid according to this validator.
virtual void Visit (const JsonString &)
virtual void Visit (const JsonBool &)
virtual void Visit (const JsonNull &)
virtual void Visit (const JsonRawValue &)
virtual void Visit (const JsonObject &)
virtual void Visit (const JsonArray &)
virtual void Visit (const JsonUInt &)
virtual void Visit (const JsonUInt64 &)
virtual void Visit (const JsonInt &)
virtual void Visit (const JsonInt64 &)
virtual void Visit (const JsonDouble &)
virtual JsonObjectGetSchema () const
 Returns the Schema as a JsonObject.
void SetSchema (const std::string &schema)
 Set the schema.
void SetId (const std::string &id)
 Set the id.
void SetTitle (const std::string &title)
 Set the title.
void SetDescription (const std::string &title)
 Set the description.
void SetDefaultValue (const JsonValue *value)
 Set the default value for this validator.
const JsonValueGetDefaultValue () const
 Return the default value.
void AddEnumValue (const JsonValue *value)
 Add a enum value to the list of allowed values.

Protected Member Functions

 BaseValidator (JsonType type)
bool CheckEnums (const JsonValue &value)
virtual void ExtendSchema (JsonObject *schema) const

Protected Attributes

bool m_is_valid
JsonType m_type
std::string m_schema
std::string m_id
std::string m_title
std::string m_description
std::auto_ptr< const JsonValuem_default_value
std::vector< const JsonValue * > m_enums

Additional Inherited Members

- Public Types inherited from ola::web::ValidatorInterface
typedef std::vector
< ValidatorInterface * > 
ValidatorList
 a list of Validators.

Member Function Documentation

void ola::web::BaseValidator::AddEnumValue ( const JsonValue value)

Add a enum value to the list of allowed values.

Parameters
valuethe JsonValue to add, ownership is transferred.
const JsonValue * ola::web::BaseValidator::GetDefaultValue ( ) const
virtual

Return the default value.

Returns
The default value, or NULL if there isn't one.

Implements ola::web::ValidatorInterface.

JsonObject * ola::web::BaseValidator::GetSchema ( ) const
virtual

Returns the Schema as a JsonObject.

Returns
A new JsonObject that represents the schema. Ownership of the JsonObject is transferred to the caller.

Implements ola::web::ValidatorInterface.

void ola::web::BaseValidator::SetDefaultValue ( const JsonValue value)
virtual

Set the default value for this validator.

Parameters
valuethe default value, ownership is transferred.

Implements ola::web::ValidatorInterface.


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