template <typename ValueType, typename Allocator>

class GenericSchemaDocument

Defined at line 1816 of file ../../third_party/rapidjson/include/rapidjson/schema.h

JSON schema document.

A JSON schema document is a compiled version of a JSON schema.

It is basically a tree of internal::Schema.

Template Parameters

ValueT Type of JSON value (e.g. ), which also determine the encoding.
Allocator Allocator type for allocating memory of this document.

Public Methods

void GenericSchemaDocument<ValueType, Allocator> (const ValueType & document, const Ch * uri, SizeType uriLength, IRemoteSchemaDocumentProviderType * remoteProvider, Allocator * allocator, const PointerType & pointer, const Specification & spec)

Constructor.

Compile a JSON document into schema document.

Parameters

document A JSON document as source.
uri The base URI of this schema document for purposes of violation reporting.
uriLength Length of in code points.
remoteProvider An optional remote schema document provider for resolving remote reference. Can be null.
allocator An optional allocator instance for allocating memory. Can be null.
pointer An optional JSON pointer to the start of the schema document
spec Optional schema draft or OpenAPI version. Used if no specification in document. Defaults to draft-04.

Defined at line 1844 of file ../../third_party/rapidjson/include/rapidjson/schema.h

void GenericSchemaDocument<ValueType, Allocator> (GenericSchemaDocument<ValueT, Allocator> && rhs)

Move constructor in C++11

Defined at line 1897 of file ../../third_party/rapidjson/include/rapidjson/schema.h

void ~GenericSchemaDocument<ValueType, Allocator> ()

Destructor

Defined at line 1919 of file ../../third_party/rapidjson/include/rapidjson/schema.h

const GValue & GetURI ()

Defined at line 1936 of file ../../third_party/rapidjson/include/rapidjson/schema.h

const Specification & GetSpecification ()

Defined at line 1938 of file ../../third_party/rapidjson/include/rapidjson/schema.h

bool IsSupportedSpecification ()

Defined at line 1939 of file ../../third_party/rapidjson/include/rapidjson/schema.h

const Specification GetSpecification (const ValueType & document)

Static method to get the specification of any schema document

Returns kDraftNone if document is silent

Defined at line 1943 of file ../../third_party/rapidjson/include/rapidjson/schema.h

const SchemaType & GetRoot ()

Get the root schema.

Defined at line 1956 of file ../../third_party/rapidjson/include/rapidjson/schema.h

GValue & GetError ()

Gets the error object.

Defined at line 1959 of file ../../third_party/rapidjson/include/rapidjson/schema.h

const GValue & GetError ()

Defined at line 1960 of file ../../third_party/rapidjson/include/rapidjson/schema.h

const StringRefType & GetSchemaErrorKeyword (SchemaErrorCode schemaErrorCode)

Defined at line 1962 of file ../../third_party/rapidjson/include/rapidjson/schema.h

void SchemaError (const SchemaErrorCode code, const PointerType & location)

Default error method

Defined at line 1982 of file ../../third_party/rapidjson/include/rapidjson/schema.h

void SchemaErrorValue (const SchemaErrorCode code, const PointerType & location, const Ch * value, SizeType length)

Method for error with single string value insert

Defined at line 1988 of file ../../third_party/rapidjson/include/rapidjson/schema.h

void SchemaErrorPointer (const SchemaErrorCode code, const PointerType & location, const Ch * value, SizeType length, const PointerType & pointer)

Method for error with invalid pointer

Defined at line 1995 of file ../../third_party/rapidjson/include/rapidjson/schema.h

Friends

template <typenametypenametypename>
class GenericSchemaValidator