Class JSONSchema
				
				
Extends
					JSONInstance.
				
			
				
				
				
					
Defined in:  jsv.js.
				
			
| 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 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. 
							 | 
						|
| 
								 getReference(name)
								 
								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. Iftrue, 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 
instanceis provided, a string containing the resolve URI of the link is returned. Ifinstanceis not provided, a link object is returned with details of the link. If no link with the provided relationship exists,undefinedis returned. 
					
					{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:
					
					
					
						
							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