JSON schema document. Plus de détails...
#include <arcane/utils/internal/json/rapidjson/schema.h>
Classes | |
struct | SchemaEntry |
Types publics | |
typedef ValueT | ValueType |
typedef IGenericRemoteSchemaDocumentProvider< GenericSchemaDocument > | IRemoteSchemaDocumentProviderType |
typedef Allocator | AllocatorType |
typedef ValueType::EncodingType | EncodingType |
typedef EncodingType::Ch | Ch |
typedef internal::Schema< GenericSchemaDocument > | SchemaType |
typedef GenericPointer< ValueType, Allocator > | PointerType |
typedef GenericValue< EncodingType, AllocatorType > | GValue |
typedef GenericUri< ValueType, Allocator > | UriType |
typedef GenericStringRef< Ch > | StringRefType |
Fonctions membres publiques | |
GenericSchemaDocument (const ValueType &document, const Ch *uri=0, SizeType uriLength=0, IRemoteSchemaDocumentProviderType *remoteProvider=0, Allocator *allocator=0, const PointerType &pointer=PointerType(), const Specification &spec=Specification(kDraft04)) | |
Constructor. | |
~GenericSchemaDocument () | |
Destructor. | |
const GValue & | GetURI () const |
const Specification & | GetSpecification () const |
bool | IsSupportedSpecification () const |
const SchemaType & | GetRoot () const |
Get the root schema. | |
GValue & | GetError () |
Gets the error object. | |
const GValue & | GetError () const |
void | SchemaError (const SchemaErrorCode code, const PointerType &location) |
Default error method. | |
void | SchemaErrorValue (const SchemaErrorCode code, const PointerType &location, const Ch *value, SizeType length) |
Method for error with single string value insert. | |
void | SchemaErrorPointer (const SchemaErrorCode code, const PointerType &location, const Ch *value, SizeType length, const PointerType &pointer) |
Method for error with invalid pointer. | |
Fonctions membres publiques statiques | |
static const Specification | GetSpecification (const ValueType &document) |
Static method to get the specification of any schema document. | |
static const StringRefType & | GetSchemaErrorKeyword (SchemaErrorCode schemaErrorCode) |
Types privés | |
typedef const PointerType * | SchemaRefPtr |
Fonctions membres privées | |
GenericSchemaDocument (const GenericSchemaDocument &) | |
Prohibit copying. | |
GenericSchemaDocument & | operator= (const GenericSchemaDocument &) |
Prohibit assignment. | |
void | AddErrorInstanceLocation (GValue &result, const PointerType &location) |
void | AddError (GValue &keyword, GValue &error) |
void | AddCurrentError (const SchemaErrorCode code, const PointerType &location) |
RAPIDJSON_STRING_ (InstanceRef, 'i', 'n', 's', 't', 'a', 'n', 'c', 'e', 'R', 'e', 'f') RAPIDJSON_STRING_(ErrorCode | |
e | RAPIDJSON_STRING_ (Value, 'v', 'a', 'l', 'u', 'e') RAPIDJSON_STRING_(Offset |
e t | RAPIDJSON_STRING_ (Null, 'n', 'u', 'l', 'l') RAPIDJSON_STRING_(SpecUnknown |
e t n | RAPIDJSON_STRING_ (SpecUnsupported, 'S', 'p', 'e', 'c', 'U', 'n', 's', 'u', 'p', 'p', 'o', 'r', 't', 'e', 'd') RAPIDJSON_STRING_(SpecIllegal |
e t n l | RAPIDJSON_STRING_ (StartUnknown, 'S', 't', 'a', 'r', 't', 'U', 'n', 'k', 'n', 'o', 'w', 'n') RAPIDJSON_STRING_(RefPlainName |
e t n l e | RAPIDJSON_STRING_ (RefInvalid, 'R', 'e', 'f', 'I', 'n', 'v', 'a', 'l', 'i', 'd') RAPIDJSON_STRING_(RefPointerInvalid |
e t n l e d | RAPIDJSON_STRING_ (RefUnknown, 'R', 'e', 'f', 'U', 'n', 'k', 'n', 'o', 'w', 'n') RAPIDJSON_STRING_(RefCyclical |
e t n l e d l | RAPIDJSON_STRING_ (RefNoRemoteProvider, 'R', 'e', 'f', 'N', 'o', 'R', 'e', 'm', 'o', 't', 'e', 'P', 'r', 'o', 'v', 'i', 'd', 'e', 'r') RAPIDJSON_STRING_(RefNoRemoteSchema |
e t n l e d l a | RAPIDJSON_STRING_ (ReadOnlyAndWriteOnly, 'R', 'e', 'a', 'd', 'O', 'n', 'l', 'y', 'A', 'n', 'd', 'W', 'r', 'i', 't', 'e', 'O', 'n', 'l', 'y') RAPIDJSON_STRING_(RegexInvalid |
void | SetSchemaSpecification (const ValueType &document) |
void | CreateSchemaRecursive (const SchemaType **schema, const PointerType &pointer, const ValueType &v, const ValueType &document, const UriType &id) |
const UriType & | CreateSchema (const SchemaType **schema, const PointerType &pointer, const ValueType &v, const ValueType &document, const UriType &id) |
bool | HandleRefSchema (const PointerType &source, const SchemaType **schema, const ValueType &v, const ValueType &document, const UriType &id) |
ValueType * | FindId (const ValueType &doc, const UriType &finduri, PointerType &resptr, const UriType &baseuri, bool full, const PointerType &here=PointerType()) const |
Find the first subschema with a resolved 'id' that matches the specified URI. | |
void | AddSchemaRefs (SchemaType *schema) |
bool | IsCyclicRef (const PointerType &pointer) const |
const SchemaType * | GetSchema (const PointerType &pointer) const |
PointerType | GetPointer (const SchemaType *schema) const |
const SchemaType * | GetTypeless () const |
Fonctions membres privées statiques | |
e t n l e d l a static d SchemaDraft | GetSchemaDraft (const ValueType &document) |
static OpenApiVersion | GetOpenApiVersion (const ValueType &document) |
Attributs privés | |
e | |
r | |
o | |
C | |
d | |
e | o |
e | f |
e | s |
e | e |
e t | S |
e t | p |
e t | e |
e t | c |
e t | U |
e t | n |
e t | k |
e t | o |
e t | w |
e t n | S |
e t n | p |
e t n | e |
e t n | c |
e t n | I |
e t n | l |
e t n | g |
e t n | a |
e t n l | R |
e t n l | e |
e t n l | f |
e t n l | P |
e t n l | l |
e t n l | a |
e t n l | i |
e t n l | n |
e t n l | N |
e t n l | m |
e t n l e | R |
e t n l e | e |
e t n l e | f |
e t n l e | P |
e t n l e | o |
e t n l e | i |
e t n l e | n |
e t n l e | t |
e t n l e | r |
e t n l e | I |
e t n l e | v |
e t n l e | a |
e t n l e | l |
e t n l e d | R |
e t n l e d | e |
e t n l e d | f |
e t n l e d | C |
e t n l e d | y |
e t n l e d | c |
e t n l e d | l |
e t n l e d | i |
e t n l e d | a |
e t n l e d l | R |
e t n l e d l | e |
e t n l e d l | f |
e t n l e d l | N |
e t n l e d l | o |
e t n l e d l | m |
e t n l e d l | t |
e t n l e d l | S |
e t n l e d l | c |
e t n l e d l | h |
e t n l e d l a | R |
e t n l e d l a | e |
e t n l e d l a | g |
e t n l e d l a | x |
e t n l e d l a | I |
e t n l e d l a | n |
e t n l e d l a | v |
e t n l e d l a | a |
e t n l e d l a | l |
e t n l e d l a | i |
IRemoteSchemaDocumentProviderType * | remoteProvider_ |
Allocator * | allocator_ |
Allocator * | ownAllocator_ |
const SchemaType * | root_ |
Root schema. | |
SchemaType * | typeless_ |
internal::Stack< Allocator > | schemaMap_ |
internal::Stack< Allocator > | schemaRef_ |
GValue | uri_ |
UriType | docId_ |
Specification | spec_ |
GValue | error_ |
GValue | currentError_ |
Attributs privés statiques | |
static const size_t | kInitialSchemaMapSize = 64 |
static const size_t | kInitialSchemaRefSize = 64 |
Amis | |
class | internal::Schema< GenericSchemaDocument > |
template<typename, typename, typename> | |
class | GenericSchemaValidator |
JSON schema document.
A JSON schema document is a compiled version of a JSON schema. It is basically a tree of internal::Schema.
typedef Allocator GenericSchemaDocument< ValueT, Allocator >::AllocatorType |
typedef EncodingType::Ch GenericSchemaDocument< ValueT, Allocator >::Ch |
typedef ValueType::EncodingType GenericSchemaDocument< ValueT, Allocator >::EncodingType |
typedef GenericValue<EncodingType, AllocatorType> GenericSchemaDocument< ValueT, Allocator >::GValue |
typedef IGenericRemoteSchemaDocumentProvider<GenericSchemaDocument> GenericSchemaDocument< ValueT, Allocator >::IRemoteSchemaDocumentProviderType |
typedef GenericPointer<ValueType, Allocator> GenericSchemaDocument< ValueT, Allocator >::PointerType |
|
private |
typedef internal::Schema<GenericSchemaDocument> GenericSchemaDocument< ValueT, Allocator >::SchemaType |
typedef GenericStringRef<Ch> GenericSchemaDocument< ValueT, Allocator >::StringRefType |
typedef GenericUri<ValueType, Allocator> GenericSchemaDocument< ValueT, Allocator >::UriType |
typedef ValueT GenericSchemaDocument< ValueT, Allocator >::ValueType |
|
inlineexplicit |
Constructor.
Compile a JSON document into schema document.
document | A JSON document as source. |
uri | The base URI of this schema document for purposes of violation reporting. |
uriLength | Length of name , 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. |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Find the first subschema with a resolved 'id' that matches the specified URI.
Définition à la ligne 2325 du fichier schema.h.
Référencé par GenericSchemaDocument< Value, CrtAllocator >::FindId().
|
inline |
|
inline |
|
inlinestaticprivate |
|
inlineprivate |
|
inline |
|
inlineprivate |
|
inlinestaticprivate |
|
inlinestatic |
|
inline |
|
inlinestatic |
|
inlineprivate |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
inline |
|
inline |
|
inline |
Method for error with single string value insert.
Définition à la ligne 1988 du fichier schema.h.
Référencé par GenericSchemaDocument< Value, CrtAllocator >::GenericSchemaDocument().
|
inlineprivate |
|
friend |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |