Assimp  v4.1. (December 2018)
GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator > Class Template Reference

JSON Schema Validator. More...

Inherits internal::ISchemaStateFactory< SchemaDocumentType::SchemaType >, and internal::ISchemaValidator.

Public Types

typedef EncodingType::Ch Ch
 
typedef SchemaType::EncodingType EncodingType
 
typedef SchemaDocumentType::PointerType PointerType
 
typedef SchemaDocumentType::SchemaType SchemaType
 

Public Member Functions

bool Bool (bool b)
 
virtual void * CreateHasher ()
 
virtual ISchemaValidator * CreateSchemaValidator (const SchemaType &root)
 
virtual void DestroryHasher (void *hasher)
 
virtual void DestroySchemaValidator (ISchemaValidator *validator)
 
bool Double (double d)
 
bool EndArray (SizeType elementCount)
 
bool EndObject (SizeType memberCount)
 
virtual void FreeState (void *p)
 
 GenericSchemaValidator (const SchemaDocumentType &schemaDocument, OutputHandler &outputHandler, StateAllocator *allocator=0, size_t schemaStackCapacity=kDefaultSchemaStackCapacity, size_t documentStackCapacity=kDefaultDocumentStackCapacity)
 Constructor with output handler. More...
 
 GenericSchemaValidator (const SchemaDocumentType &schemaDocument, StateAllocator *allocator=0, size_t schemaStackCapacity=kDefaultSchemaStackCapacity, size_t documentStackCapacity=kDefaultDocumentStackCapacity)
 Constructor without output handler. More...
 
virtual uint64_t GetHashCode (void *hasher)
 
PointerType GetInvalidDocumentPointer () const
 Gets the JSON pointer pointed to the invalid value. More...
 
const ChGetInvalidSchemaKeyword () const
 Gets the keyword of invalid schema. More...
 
PointerType GetInvalidSchemaPointer () const
 Gets the JSON pointer pointed to the invalid schema. More...
 
bool Int (int i)
 
bool Int64 (int64_t i)
 
virtual bool IsValid () const
 Checks whether the current state is valid. More...
 
bool Key (const Ch *str, SizeType len, bool copy)
 
virtual void * MallocState (size_t size)
 
bool Null ()
 
bool RawNumber (const Ch *str, SizeType length, bool copy)
 
void Reset ()
 Reset the internal states. More...
 
bool StartArray ()
 
bool StartObject ()
 
bool String (const Ch *str, SizeType length, bool copy)
 
bool Uint (unsigned u)
 
bool Uint64 (uint64_t u)
 
 ~GenericSchemaValidator ()
 Destructor. More...
 
- Public Member Functions inherited from internal::ISchemaStateFactory< SchemaDocumentType::SchemaType >
virtual void DestroySchemaValidator (ISchemaValidator *validator)=0
 
virtual ~ISchemaStateFactory ()
 
- Public Member Functions inherited from internal::ISchemaValidator
virtual ~ISchemaValidator ()
 

Detailed Description

template<typename SchemaDocumentType, typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
class GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >

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().

Template Parameters
SchemaDocumentTypeType of schema document.
OutputHandlerType of output handler. Default handler does nothing.
StateAllocatorAllocator for storing the internal validation states.

Member Typedef Documentation

◆ Ch

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
typedef EncodingType::Ch GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Ch

◆ EncodingType

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
typedef SchemaType::EncodingType GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EncodingType

◆ PointerType

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
typedef SchemaDocumentType::PointerType GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::PointerType

◆ SchemaType

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
typedef SchemaDocumentType::SchemaType GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::SchemaType

Constructor & Destructor Documentation

◆ GenericSchemaValidator() [1/2]

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GenericSchemaValidator ( const SchemaDocumentType &  schemaDocument,
StateAllocator *  allocator = 0,
size_t  schemaStackCapacity = kDefaultSchemaStackCapacity,
size_t  documentStackCapacity = kDefaultDocumentStackCapacity 
)
inline

Constructor without output handler.

Parameters
schemaDocumentThe schema document to conform to.
allocatorOptional allocator for storing internal validation states.
schemaStackCapacityOptional initial capacity of schema path stack.
documentStackCapacityOptional initial capacity of document path stack.

◆ GenericSchemaValidator() [2/2]

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GenericSchemaValidator ( const SchemaDocumentType &  schemaDocument,
OutputHandler &  outputHandler,
StateAllocator *  allocator = 0,
size_t  schemaStackCapacity = kDefaultSchemaStackCapacity,
size_t  documentStackCapacity = kDefaultDocumentStackCapacity 
)
inline

Constructor with output handler.

Parameters
schemaDocumentThe schema document to conform to.
allocatorOptional allocator for storing internal validation states.
schemaStackCapacityOptional initial capacity of schema path stack.
documentStackCapacityOptional initial capacity of document path stack.

◆ ~GenericSchemaValidator()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::~GenericSchemaValidator ( )
inline

Destructor.

Member Function Documentation

◆ Bool()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Bool ( bool  b)
inline

◆ CreateHasher()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
virtual void* GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CreateHasher ( )
inlinevirtual

◆ CreateSchemaValidator()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
virtual ISchemaValidator* GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::CreateSchemaValidator ( const SchemaType root)
inlinevirtual

◆ DestroryHasher()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
virtual void GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::DestroryHasher ( void *  hasher)
inlinevirtual

◆ DestroySchemaValidator()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
virtual void GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::DestroySchemaValidator ( ISchemaValidator *  validator)
inlinevirtual

◆ Double()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Double ( double  d)
inline

◆ EndArray()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndArray ( SizeType  elementCount)
inline

◆ EndObject()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::EndObject ( SizeType  memberCount)
inline

◆ FreeState()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
virtual void GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::FreeState ( void *  p)
inlinevirtual

◆ GetHashCode()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
virtual uint64_t GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetHashCode ( void *  hasher)
inlinevirtual

◆ GetInvalidDocumentPointer()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
PointerType GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetInvalidDocumentPointer ( ) const
inline

Gets the JSON pointer pointed to the invalid value.

◆ GetInvalidSchemaKeyword()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
const Ch* GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetInvalidSchemaKeyword ( ) const
inline

Gets the keyword of invalid schema.

◆ GetInvalidSchemaPointer()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
PointerType GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::GetInvalidSchemaPointer ( ) const
inline

Gets the JSON pointer pointed to the invalid schema.

◆ Int()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Int ( int  i)
inline

◆ Int64()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Int64 ( int64_t  i)
inline

◆ IsValid()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
virtual bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::IsValid ( ) const
inlinevirtual

Checks whether the current state is valid.

Implements internal::ISchemaValidator.

◆ Key()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Key ( const Ch str,
SizeType  len,
bool  copy 
)
inline

◆ MallocState()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
virtual void* GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::MallocState ( size_t  size)
inlinevirtual

◆ Null()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Null ( )
inline

◆ RawNumber()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::RawNumber ( const Ch str,
SizeType  length,
bool  copy 
)
inline

◆ Reset()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
void GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Reset ( )
inline

Reset the internal states.

◆ StartArray()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::StartArray ( )
inline

◆ StartObject()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::StartObject ( )
inline

◆ String()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::String ( const Ch str,
SizeType  length,
bool  copy 
)
inline

◆ Uint()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Uint ( unsigned  u)
inline

◆ Uint64()

template<typename SchemaDocumentType , typename OutputHandler = BaseReaderHandler<typename SchemaDocumentType::SchemaType::EncodingType>, typename StateAllocator = CrtAllocator>
bool GenericSchemaValidator< SchemaDocumentType, OutputHandler, StateAllocator >::Uint64 ( uint64_t  u)
inline

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