![]() |
VR-Vantage 3.1 API Documentation
|
JSON Schema Validator. More...

Public Types | |
| typedef SchemaDocumentType::SchemaType | SchemaType |
| typedef SchemaDocumentType::PointerType | PointerType |
| typedef SchemaType::EncodingType | EncodingType |
| typedef EncodingType::Ch | Ch |
Public Member Functions | |
| GenericSchemaValidator (const SchemaDocumentType &schemaDocument, StateAllocator *allocator=0, size_t schemaStackCapacity=kDefaultSchemaStackCapacity, size_t documentStackCapacity=kDefaultDocumentStackCapacity) | |
| Constructor without output handler. | |
| GenericSchemaValidator (const SchemaDocumentType &schemaDocument, OutputHandler &outputHandler, StateAllocator *allocator=0, size_t schemaStackCapacity=kDefaultSchemaStackCapacity, size_t documentStackCapacity=kDefaultDocumentStackCapacity) | |
| Constructor with output handler. | |
| ~GenericSchemaValidator () | |
| Destructor. | |
| void | Reset () |
| Reset the internal states. | |
| virtual bool | IsValid () const |
| Checks whether the current state is valid. | |
| PointerType | GetInvalidSchemaPointer () const |
| Gets the JSON pointer pointed to the invalid schema. | |
| const Ch * | GetInvalidSchemaKeyword () const |
| Gets the keyword of invalid schema. | |
| PointerType | GetInvalidDocumentPointer () const |
| Gets the JSON pointer pointed to the invalid value. | |
| bool | Null () |
| bool | Bool (bool b) |
| bool | Int (int i) |
| bool | Uint (unsigned u) |
| bool | Int64 (int64_t i) |
| bool | Uint64 (uint64_t u) |
| bool | Double (double d) |
| bool | RawNumber (const Ch *str, SizeType length, bool copy) |
| bool | String (const Ch *str, SizeType length, bool copy) |
| bool | StartObject () |
| bool | Key (const Ch *str, SizeType len, bool copy) |
| bool | EndObject (SizeType memberCount) |
| bool | StartArray () |
| bool | EndArray (SizeType elementCount) |
| virtual ISchemaValidator * | CreateSchemaValidator (const SchemaType &root) |
| virtual void | DestroySchemaValidator (ISchemaValidator *validator) |
| virtual void * | CreateHasher () |
| virtual uint64_t | GetHashCode (void *hasher) |
| virtual void | DestroryHasher (void *hasher) |
| virtual void * | MallocState (size_t size) |
| virtual void | FreeState (void *p) |
Public Member Functions inherited from internal::ISchemaStateFactory< SchemaDocumentType::SchemaType > | |
| virtual | ~ISchemaStateFactory () |
| virtual void | DestroySchemaValidator (ISchemaValidator *validator)=0 |
Public Member Functions inherited from internal::ISchemaValidator | |
| virtual | ~ISchemaValidator () |
Private Types | |
| typedef SchemaType::Context | Context |
| typedef GenericValue< UTF8 <>, StateAllocator > | HashCodeArray |
| typedef internal::Hasher < EncodingType, StateAllocator > | HasherType |
Private Member Functions | |
| GenericSchemaValidator (const SchemaDocumentType &schemaDocument, const SchemaType &root, StateAllocator *allocator=0, size_t schemaStackCapacity=kDefaultSchemaStackCapacity, size_t documentStackCapacity=kDefaultDocumentStackCapacity) | |
| StateAllocator & | GetStateAllocator () |
| bool | BeginValue () |
| bool | EndValue () |
| void | AppendToken (const Ch *str, SizeType len) |
| RAPIDJSON_FORCEINLINE void | PushSchema (const SchemaType &schema) |
| RAPIDJSON_FORCEINLINE void | PopSchema () |
| const SchemaType & | CurrentSchema () const |
| Context & | CurrentContext () |
| const Context & | CurrentContext () const |
Static Private Member Functions | |
| static OutputHandler & | GetNullHandler () |
Private Attributes | |
| const SchemaDocumentType * | schemaDocument_ |
| const SchemaType & | root_ |
| OutputHandler & | outputHandler_ |
| StateAllocator * | stateAllocator_ |
| StateAllocator * | ownStateAllocator_ |
| internal::Stack< StateAllocator > | schemaStack_ |
| stack to store the current path of schema (BaseSchemaType *) | |
| internal::Stack< StateAllocator > | documentStack_ |
| stack to store the current path of validating document (Ch) | |
| bool | valid_ |
Static Private Attributes | |
| static const size_t | kDefaultSchemaStackCapacity = 1024 |
| static const size_t | kDefaultDocumentStackCapacity = 256 |
JSON Schema Validator.
A SAX style JSON schema validator. It uses a GenericSchemaDocument to validate SAX events. It delegates the incoming SAX events to an output handler. The default output handler does nothing. It can be reused multiple times by calling Reset().
| SchemaDocumentType | Type of schema document. |
| OutputHandler | Type of output handler. Default handler does nothing. |
| StateAllocator | Allocator for storing the internal validation states. |
| typedef SchemaDocumentType::SchemaType GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::SchemaType |
| typedef SchemaDocumentType::PointerType GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::PointerType |
| typedef SchemaType::EncodingType GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EncodingType |
| typedef EncodingType::Ch GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Ch |
|
private |
|
private |
|
private |
|
inline |
Constructor without output handler.
| schemaDocument | The schema document to conform to. |
| allocator | Optional allocator for storing internal validation states. |
| schemaStackCapacity | Optional initial capacity of schema path stack. |
| documentStackCapacity | Optional initial capacity of document path stack. |
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CreateSchemaValidator().
|
inline |
Constructor with output handler.
| schemaDocument | The schema document to conform to. |
| allocator | Optional allocator for storing internal validation states. |
| schemaStackCapacity | Optional initial capacity of schema path stack. |
| documentStackCapacity | Optional initial capacity of document path stack. |
|
inline |
Destructor.
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::ownStateAllocator_, RAPIDJSON_DELETE, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Reset().
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::DestroySchemaValidator().
|
inlineprivate |
|
inline |
Reset the internal states.
References internal::Stack< Allocator >::Clear(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::documentStack_, internal::Stack< Allocator >::Empty(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::PopSchema(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::schemaStack_, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::valid_.
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::~GenericSchemaValidator().
|
inlinevirtual |
Checks whether the current state is valid.
Implements internal::ISchemaValidator.
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::valid_.
Referenced by SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::operator()().
|
inline |
Gets the JSON pointer pointed to the invalid schema.
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentSchema(), internal::Stack< Allocator >::Empty(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::schemaDocument_, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::schemaStack_.
Referenced by SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::operator()().
|
inline |
Gets the keyword of invalid schema.
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentContext(), internal::Stack< Allocator >::Empty(), and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::schemaStack_.
Referenced by SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::operator()().
|
inline |
Gets the JSON pointer pointed to the invalid value.
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::documentStack_, internal::Stack< Allocator >::Empty(), and internal::Stack< Allocator >::GetSize().
Referenced by SchemaValidatingReader< parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator >::operator()().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentContext(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::outputHandler_, RAPIDJSON_SCHEMA_HANDLE_BEGIN_, RAPIDJSON_SCHEMA_HANDLE_PARALLEL_, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::valid_.
|
inline |
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::AppendToken(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentContext(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentSchema(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::outputHandler_, RAPIDJSON_SCHEMA_HANDLE_PARALLEL_, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::valid_.
|
inline |
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentContext(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentSchema(), RAPIDJSON_SCHEMA_HANDLE_END_, RAPIDJSON_SCHEMA_HANDLE_PARALLEL_, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::valid_.
|
inline |
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentContext(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::outputHandler_, RAPIDJSON_SCHEMA_HANDLE_BEGIN_, RAPIDJSON_SCHEMA_HANDLE_PARALLEL_, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::valid_.
|
inline |
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentContext(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentSchema(), RAPIDJSON_SCHEMA_HANDLE_END_, RAPIDJSON_SCHEMA_HANDLE_PARALLEL_, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::valid_.
|
inlinevirtual |
Implements internal::ISchemaStateFactory< SchemaDocumentType::SchemaType >.
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GenericSchemaValidator(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetStateAllocator(), RAPIDJSON_SCHEMA_VERBOSE, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::schemaDocument_.
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::BeginValue().
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlineprivate |
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::ownStateAllocator_, RAPIDJSON_NEW, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::stateAllocator_.
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CreateHasher(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CreateSchemaValidator(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndValue(), and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::MallocState().
|
inlineprivate |
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CreateSchemaValidator(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentContext(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentSchema(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::documentStack_, internal::Stack< Allocator >::Empty(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::MallocState(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::PushSchema(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::root_, GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::schemaStack_, and SizeType.
|
inlineprivate |
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentContext(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentSchema(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::documentStack_, internal::Stack< Allocator >::Empty(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetHashCode(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetStateAllocator(), GenericStringBuffer< Encoding, Allocator >::GetString(), kArrayType, GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::PopSchema(), RAPIDJSON_INVALID_KEYWORD_RETURN, GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::schemaDocument_, and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::schemaStack_.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::schemaStack_.
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::BeginValue(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndArray(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndObject(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndValue(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetInvalidSchemaPointer(), and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Key().
|
inlineprivate |
References GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::schemaStack_.
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::BeginValue(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Bool(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Double(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndArray(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndObject(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndValue(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetInvalidSchemaKeyword(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Int(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Int64(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Key(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Null(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::RawNumber(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::StartArray(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::StartObject(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::String(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Uint(), and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Uint64().
|
inlineprivate |
|
inlinestaticprivate |
|
staticprivate |
|
staticprivate |
|
private |
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CreateSchemaValidator(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndValue(), and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetInvalidSchemaPointer().
|
private |
|
private |
|
private |
|
private |
|
private |
stack to store the current path of schema (BaseSchemaType *)
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::BeginValue(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentContext(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CurrentSchema(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndValue(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetInvalidSchemaKeyword(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetInvalidSchemaPointer(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::PopSchema(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::PushSchema(), and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Reset().
|
private |
stack to store the current path of validating document (Ch)
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::AppendToken(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::BeginValue(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndValue(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetInvalidDocumentPointer(), and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Reset().
|
private |
Referenced by GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndArray(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndObject(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::IsValid(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Key(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Reset(), GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::StartArray(), and GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::StartObject().