Class Index | File Index

Classes


Class JSONSchema


Extends JSONInstance.

Defined in: jsv.js.

Class Summary
Constructor Attributes Constructor Name and Description
 
JSONSchema(env, json, uri, schema)
This class binds a JSONInstance with a JSONSchema to provided context aware methods.
Method Summary
Method Attributes Method Name and Description
 
getAttribute(key, arg)
Returns the value of the provided attribute name.
 
Returns all the attributes of the schema.
 
getLink(rel, instance)
Convenience method for retrieving a link or link object from a schema.
 
Returns the value of the provided reference name.
 
Returns the schema of the schema.
 
setReference(name, uri)
Set the provided reference to the given value.
 
validate(instance, report, parent, parentSchema, name)
Validates the provided instance against the target schema and returns a Report.
Methods borrowed from class JSONInstance:
equals, getEnvironment, getProperties, getProperty, getPropertyNames, getType, getURI, getValue, getValueOfProperty, resolveURI
Class Detail
JSONSchema(env, json, uri, schema)
This class binds a JSONInstance with a JSONSchema to provided context aware methods.
Parameters:
{Environment} env
The environment this schema belongs to
{JSONInstance|Any} json
The value of the schema
{String} uri Optional
The URI of the schema. If undefined, the URI will be a randomly generated UUID.
{JSONSchema|Boolean} schema Optional
The schema to bind to the instance. If undefined, the environment's default schema will be used. If true, the instance's schema will be itself.
Method Detail
{JSONSchema|Any} getAttribute(key, arg)
Returns the value of the provided attribute name.

This method is different from JSONInstance#getProperty as the named property is converted using a parser defined by the schema's schema before being returned. This makes the return value of this method attribute dependent.

Parameters:
{String} key
The name of the attribute
{Any} arg Optional
Some attribute parsers accept special arguments for returning resolved values. This is attribute dependent.
Returns:
{JSONSchema|Any} The value of the attribute

{Object} getAttributes()
Returns all the attributes of the schema.
Returns:
{Object} A map of all parsed attribute values

{String|Object|undefined} getLink(rel, instance)
Convenience method for retrieving a link or link object from a schema. This method is the same as calling schema.getAttribute("links", [rel, instance])[0];.
Parameters:
{String} rel
The link relationship
{JSONInstance} instance Optional
The instance to resolve any URIs from
Returns:
{String|Object|undefined} If instance is provided, a string containing the resolve URI of the link is returned. If instance is not provided, a link object is returned with details of the link. If no link with the provided relationship exists, undefined is returned.
See:
JSONSchema#getAttribute

{String} getReference(name)
Returns the value of the provided reference name.
Parameters:
{String} name
The name of the reference
Returns:
{String} The value of the provided reference name

{JSONSchema} getSchema()
Returns the schema of the schema.
Returns:
{JSONSchema} The schema of the schema

setReference(name, uri)
Set the provided reference to the given value.
References are used for establishing soft-links to other JSONSchemas. Currently, the following references are natively supported:
full
The value is the URI to the full instance of this instance.
describedby
The value is the URI to the schema of this instance.
Parameters:
{String} name
The name of the reference
{String} uri
The URI of the schema to refer to

{Report} validate(instance, report, parent, parentSchema, name)
Validates the provided instance against the target schema and returns a Report.
Parameters:
{JSONInstance|Any} instance
The instance to validate; may be a JSONInstance or any JavaScript value
{Report} report Optional
A Report to concatenate the result of the validation to. If undefined, a new Report is created.
{JSONInstance} parent Optional
The parent/containing instance of the provided instance
{JSONSchema} parentSchema Optional
The schema of the parent/containing instance
{String} name Optional
The name of the parent object's property that references the instance
Returns:
{Report} The result of the validation

Documentation generated by JsDoc Toolkit 2.4.0 on Wed Sep 14 2011 18:53:24 GMT-0600 (MDT)