travel/admin/node_modules/JSV/docs/symbols/JSONSchema.html

754 lines
19 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="generator" content="JsDoc Toolkit" />
<title>JsDoc Reference - JSONSchema</title>
<style type="text/css">
/* default.css */
body
{
font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
width: 800px;
}
.header
{
clear: both;
background-color: #ccc;
padding: 8px;
}
h1
{
font-size: 150%;
font-weight: bold;
padding: 0;
margin: 1em 0 0 .3em;
}
hr
{
border: none 0;
border-top: 1px solid #7F8FB1;
height: 1px;
}
pre.code
{
display: block;
padding: 8px;
border: 1px dashed #ccc;
}
#index
{
margin-top: 24px;
float: left;
width: 160px;
position: absolute;
left: 8px;
background-color: #F3F3F3;
padding: 8px;
}
#content
{
margin-left: 190px;
width: 600px;
}
.classList
{
list-style-type: none;
padding: 0;
margin: 0 0 0 8px;
font-family: arial, sans-serif;
font-size: 1em;
overflow: auto;
}
.classList li
{
padding: 0;
margin: 0 0 8px 0;
}
.summaryTable { width: 100%; }
h1.classTitle
{
font-size:170%;
line-height:130%;
}
h2 { font-size: 110%; }
caption, div.sectionTitle
{
background-color: #7F8FB1;
color: #fff;
font-size:130%;
text-align: left;
padding: 2px 6px 2px 6px;
border: 1px #7F8FB1 solid;
}
div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }
.summaryTable td
{
vertical-align: top;
padding: 4px;
border-bottom: 1px #7F8FB1 solid;
border-right: 1px #7F8FB1 solid;
}
/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
border-left: 1px #7F8FB1 solid;
width: 140px;
text-align: right;
}
td.attributes, .fixedFont
{
line-height: 15px;
color: #002EBE;
font-family: "Courier New",Courier,monospace;
font-size: 13px;
}
.summaryTable td.nameDescription
{
text-align: left;
font-size: 13px;
line-height: 15px;
}
.summaryTable td.nameDescription, .description
{
line-height: 15px;
padding: 4px;
padding-left: 4px;
}
.summaryTable { margin-bottom: 8px; }
ul.inheritsList
{
list-style: square;
margin-left: 20px;
padding-left: 0;
}
.detailList {
margin-left: 20px;
line-height: 15px;
}
.detailList dt { margin-left: 20px; }
.detailList .heading
{
font-weight: bold;
padding-bottom: 6px;
margin-left: 0;
}
.light, td.attributes, .light a:link, .light a:visited
{
color: #777;
font-style: italic;
}
.fineprint
{
text-align: right;
font-size: 10px;
}
</style>
</head>
<body>
<!-- ============================== header ================================= -->
<!-- begin static/header.html -->
<div id="header">
</div>
<!-- end static/header.html -->
<!-- ============================== classes index ============================ -->
<div id="index">
<!-- begin publish.classesIndex -->
<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
<li><a href="../symbols/Environment.html">Environment</a></li>
<li><a href="../symbols/InitializationError.html">InitializationError</a></li>
<li><a href="../symbols/JSONInstance.html">JSONInstance</a></li>
<li><a href="../symbols/JSONSchema.html">JSONSchema</a></li>
<li><a href="../symbols/JSV.html">JSV</a></li>
<li><a href="../symbols/Report.html">Report</a></li>
<li><a href="../symbols/ValidationError.html">ValidationError</a></li>
</ul>
<hr />
<!-- end publish.classesIndex -->
</div>
<div id="content">
<!-- ============================== class title ============================ -->
<h1 class="classTitle">
Class JSONSchema
</h1>
<!-- ============================== class summary ========================== -->
<p class="description">
<br />Extends
<a href="../symbols/JSONInstance.html">JSONInstance</a>.<br />
<br /><i>Defined in: </i> <a href="../symbols/src/jsv.js.html">jsv.js</a>.
</p>
<!-- ============================== constructor summary ==================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class JSONSchema.">
<caption>Class Summary</caption>
<thead>
<tr>
<th scope="col">Constructor Attributes</th>
<th scope="col">Constructor Name and Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription" >
<div class="fixedFont">
<b><a href="../symbols/JSONSchema.html#constructor">JSONSchema</a></b>(env, json, uri, schema)
</div>
<div class="description">This class binds a <a href="../symbols/JSONInstance.html">JSONInstance</a> with a <a href="../symbols/JSONSchema.html">JSONSchema</a> to provided context aware methods.</div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== properties summary ===================== -->
<!-- ============================== methods summary ======================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class JSONSchema.">
<caption>Method Summary</caption>
<thead>
<tr>
<th scope="col">Method Attributes</th>
<th scope="col">Method Name and Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/JSONSchema.html#getAttribute">getAttribute</a></b>(key, arg)
</div>
<div class="description">Returns the value of the provided attribute name.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/JSONSchema.html#getAttributes">getAttributes</a></b>()
</div>
<div class="description">Returns all the attributes of the schema.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/JSONSchema.html#getLink">getLink</a></b>(rel, instance)
</div>
<div class="description">Convenience method for retrieving a link or link object from a schema.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/JSONSchema.html#getReference">getReference</a></b>(name)
</div>
<div class="description">Returns the value of the provided reference name.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/JSONSchema.html#getSchema">getSchema</a></b>()
</div>
<div class="description">Returns the schema of the schema.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/JSONSchema.html#setReference">setReference</a></b>(name, uri)
</div>
<div class="description">Set the provided reference to the given value.</div>
</td>
</tr>
<tr>
<td class="attributes">&nbsp;</td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/JSONSchema.html#validate">validate</a></b>(instance, report, parent, parentSchema, name)
</div>
<div class="description">Validates the provided instance against the target schema and returns a <a href="../symbols/Report.html">Report</a>.</div>
</td>
</tr>
</tbody>
</table>
<dl class="inheritsList">
<dt>Methods borrowed from class <a href="../symbols/JSONInstance.html">JSONInstance</a>: </dt><dd><a href="../symbols/JSONInstance.html#equals">equals</a>, <a href="../symbols/JSONInstance.html#getEnvironment">getEnvironment</a>, <a href="../symbols/JSONInstance.html#getProperties">getProperties</a>, <a href="../symbols/JSONInstance.html#getProperty">getProperty</a>, <a href="../symbols/JSONInstance.html#getPropertyNames">getPropertyNames</a>, <a href="../symbols/JSONInstance.html#getType">getType</a>, <a href="../symbols/JSONInstance.html#getURI">getURI</a>, <a href="../symbols/JSONInstance.html#getValue">getValue</a>, <a href="../symbols/JSONInstance.html#getValueOfProperty">getValueOfProperty</a>, <a href="../symbols/JSONInstance.html#resolveURI">resolveURI</a></dd>
</dl>
<!-- ============================== events summary ======================== -->
<!-- ============================== constructor details ==================== -->
<div class="details"><a name="constructor"> </a>
<div class="sectionTitle">
Class Detail
</div>
<div class="fixedFont">
<b>JSONSchema</b>(env, json, uri, schema)
</div>
<div class="description">
This class binds a <a href="../symbols/JSONInstance.html">JSONInstance</a> with a <a href="../symbols/JSONSchema.html">JSONSchema</a> to provided context aware methods.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/Environment.html">Environment</a>}</span> <b>env</b>
</dt>
<dd>The environment this schema belongs to</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/JSONInstance.html">JSONInstance</a>|Any}</span> <b>json</b>
</dt>
<dd>The value of the schema</dd>
<dt>
<span class="light fixedFont">{String}</span> <b>uri</b>
<i>Optional</i>
</dt>
<dd>The URI of the schema. If undefined, the URI will be a randomly generated UUID.</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/JSONSchema.html">JSONSchema</a>|Boolean}</span> <b>schema</b>
<i>Optional</i>
</dt>
<dd>The schema to bind to the instance. If <code>undefined</code>, the environment's default schema will be used. If <code>true</code>, the instance's schema will be itself.</dd>
</dl>
</div>
<!-- ============================== field details ========================== -->
<!-- ============================== method details ========================= -->
<div class="sectionTitle">
Method Detail
</div>
<a name="getAttribute"> </a>
<div class="fixedFont">
<span class="light">{<a href="../symbols/JSONSchema.html">JSONSchema</a>|Any}</span>
<b>getAttribute</b>(key, arg)
</div>
<div class="description">
Returns the value of the provided attribute name.
<p>
This method is different from <a href="../symbols/JSONInstance.html#getProperty">JSONInstance#getProperty</a> 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.
</p>
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>key</b>
</dt>
<dd>The name of the attribute</dd>
<dt>
<span class="light fixedFont">{Any}</span> <b>arg</b>
<i>Optional</i>
</dt>
<dd>Some attribute parsers accept special arguments for returning resolved values. This is attribute dependent.</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/JSONSchema.html">JSONSchema</a>|Any}</span> The value of the attribute</dd>
</dl>
<hr />
<a name="getAttributes"> </a>
<div class="fixedFont">
<span class="light">{Object}</span>
<b>getAttributes</b>()
</div>
<div class="description">
Returns all the attributes of the schema.
</div>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Object}</span> A map of all parsed attribute values</dd>
</dl>
<hr />
<a name="getLink"> </a>
<div class="fixedFont">
<span class="light">{String|Object|undefined}</span>
<b>getLink</b>(rel, instance)
</div>
<div class="description">
Convenience method for retrieving a link or link object from a schema.
This method is the same as calling <code>schema.getAttribute("links", [rel, instance])[0];</code>.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>rel</b>
</dt>
<dd>The link relationship</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/JSONInstance.html">JSONInstance</a>}</span> <b>instance</b>
<i>Optional</i>
</dt>
<dd>The instance to resolve any URIs from</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{String|Object|undefined}</span> If <code>instance</code> is provided, a string containing the resolve URI of the link is returned.
If <code>instance</code> is not provided, a link object is returned with details of the link.
If no link with the provided relationship exists, <code>undefined</code> is returned.</dd>
</dl>
<dl class="detailList">
<dt class="heading">See:</dt>
<dd><a href="../symbols/JSONSchema.html#getAttribute">JSONSchema#getAttribute</a></dd>
</dl>
<hr />
<a name="getReference"> </a>
<div class="fixedFont">
<span class="light">{String}</span>
<b>getReference</b>(name)
</div>
<div class="description">
Returns the value of the provided reference name.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>name</b>
</dt>
<dd>The name of the reference</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{String}</span> The value of the provided reference name</dd>
</dl>
<hr />
<a name="getSchema"> </a>
<div class="fixedFont">
<span class="light">{<a href="../symbols/JSONSchema.html">JSONSchema</a>}</span>
<b>getSchema</b>()
</div>
<div class="description">
Returns the schema of the schema.
</div>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/JSONSchema.html">JSONSchema</a>}</span> The schema of the schema</dd>
</dl>
<hr />
<a name="setReference"> </a>
<div class="fixedFont">
<b>setReference</b>(name, uri)
</div>
<div class="description">
Set the provided reference to the given value.
<br/>
References are used for establishing soft-links to other <a href="../symbols/JSONSchema.html">JSONSchema</a>s.
Currently, the following references are natively supported:
<dl>
<dt><code>full</code></dt>
<dd>The value is the URI to the full instance of this instance.</dd>
<dt><code>describedby</code></dt>
<dd>The value is the URI to the schema of this instance.</dd>
</dl>
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>name</b>
</dt>
<dd>The name of the reference</dd>
<dt>
<span class="light fixedFont">{String}</span> <b>uri</b>
</dt>
<dd>The URI of the schema to refer to</dd>
</dl>
<hr />
<a name="validate"> </a>
<div class="fixedFont">
<span class="light">{<a href="../symbols/Report.html">Report</a>}</span>
<b>validate</b>(instance, report, parent, parentSchema, name)
</div>
<div class="description">
Validates the provided instance against the target schema and returns a <a href="../symbols/Report.html">Report</a>.
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{<a href="../symbols/JSONInstance.html">JSONInstance</a>|Any}</span> <b>instance</b>
</dt>
<dd>The instance to validate; may be a <a href="../symbols/JSONInstance.html">JSONInstance</a> or any JavaScript value</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/Report.html">Report</a>}</span> <b>report</b>
<i>Optional</i>
</dt>
<dd>A <a href="../symbols/Report.html">Report</a> to concatenate the result of the validation to. If <code>undefined</code>, a new <a href="../symbols/Report.html">Report</a> is created.</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/JSONInstance.html">JSONInstance</a>}</span> <b>parent</b>
<i>Optional</i>
</dt>
<dd>The parent/containing instance of the provided instance</dd>
<dt>
<span class="light fixedFont">{<a href="../symbols/JSONSchema.html">JSONSchema</a>}</span> <b>parentSchema</b>
<i>Optional</i>
</dt>
<dd>The schema of the parent/containing instance</dd>
<dt>
<span class="light fixedFont">{String}</span> <b>name</b>
<i>Optional</i>
</dt>
<dd>The name of the parent object's property that references the instance</dd>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{<a href="../symbols/Report.html">Report</a>}</span> The result of the validation</dd>
</dl>
<!-- ============================== event details ========================= -->
<hr />
</div>
<!-- ============================== footer ================================= -->
<div class="fineprint" style="clear:both">
Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Sep 14 2011 18:53:24 GMT-0600 (MDT)
</div>
</body>
</html>