blob: a1897c6c45cd2ad25e4bd647de8b57c83e27332a [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>aria.parser.presentation &mdash; ARIA TOSCA 0.1.1 documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="index" title="Index"
href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/>
<link rel="top" title="ARIA TOSCA 0.1.1 documentation" href="index.html"/>
<link rel="next" title="aria.parser.reading" href="aria.parser.reading.html"/>
<link rel="prev" title="aria.parser.modeling" href="aria.parser.modeling.html"/>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> ARIA TOSCA
</a>
<div class="version">
0.1.1
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="cli.html">CLI</a></li>
<li class="toctree-l1"><a class="reference internal" href="rest.html">REST</a></li>
</ul>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="aria.html"><code class="docutils literal"><span class="pre">aria</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.cli.html"><code class="docutils literal"><span class="pre">aria.cli</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.modeling.html"><code class="docutils literal"><span class="pre">aria.modeling</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.modeling.models.html"><code class="docutils literal"><span class="pre">aria.modeling.models</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.html"><code class="docutils literal"><span class="pre">aria.orchestrator</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.context.html"><code class="docutils literal"><span class="pre">aria.orchestrator.context</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.execution_plugin.html"><code class="docutils literal"><span class="pre">aria.orchestrator.execution_plugin</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.execution_plugin.ctx_proxy.html"><code class="docutils literal"><span class="pre">aria.orchestrator.execution_plugin.ctx_proxy</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.execution_plugin.ssh.html"><code class="docutils literal"><span class="pre">aria.orchestrator.execution_plugin.ssh</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.api.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows.api</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.builtin.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows.builtin</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.orchestrator.workflows.executor.html"><code class="docutils literal"><span class="pre">aria.orchestrator.workflows.executor</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.html"><code class="docutils literal"><span class="pre">aria.parser</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.consumption.html"><code class="docutils literal"><span class="pre">aria.parser.consumption</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.loading.html"><code class="docutils literal"><span class="pre">aria.parser.loading</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.modeling.html"><code class="docutils literal"><span class="pre">aria.parser.modeling</span></code></a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#"><code class="docutils literal"><span class="pre">aria.parser.presentation</span></code></a><ul>
<li class="toctree-l2"><a class="reference internal" href="#presentations">Presentations</a></li>
<li class="toctree-l2"><a class="reference internal" href="#field-decorators">Field decorators</a></li>
<li class="toctree-l2"><a class="reference internal" href="#field-validators">Field validators</a></li>
<li class="toctree-l2"><a class="reference internal" href="#utilities">Utilities</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.reading.html"><code class="docutils literal"><span class="pre">aria.parser.reading</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.parser.validation.html"><code class="docutils literal"><span class="pre">aria.parser.validation</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.storage.html"><code class="docutils literal"><span class="pre">aria.storage</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria.utils.html"><code class="docutils literal"><span class="pre">aria.utils</span></code></a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_v1_0.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_v1_0</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_v1_0.modeling.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_v1_0.modeling</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_v1_0.presentation.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_v1_0.presentation</span></code></a></li>
<li class="toctree-l1"><a class="reference internal" href="aria_extension_tosca.simple_nfv_v1_0.html"><code class="docutils literal"><span class="pre">aria_extension_tosca.simple_nfv_v1_0</span></code></a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">ARIA TOSCA</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li><code class="docutils literal"><span class="pre">aria.parser.presentation</span></code></li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/aria.parser.presentation.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="module-aria.parser.presentation">
<span id="aria-parser-presentation"></span><h1><a class="reference internal" href="#module-aria.parser.presentation" title="aria.parser.presentation"><code class="xref py py-mod docutils literal"><span class="pre">aria.parser.presentation</span></code></a><a class="headerlink" href="#module-aria.parser.presentation" title="Permalink to this headline"></a></h1>
<p>Presentation package.</p>
<table border="1" class="longtable docutils">
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.PresentationContext" title="aria.parser.presentation.PresentationContext"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.PresentationContext</span></code></a></td>
<td>Presentation context.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.PresenterException" title="aria.parser.presentation.PresenterException"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.PresenterException</span></code></a></td>
<td>ARIA presenter exception.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.PresenterNotFoundError" title="aria.parser.presentation.PresenterNotFoundError"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.PresenterNotFoundError</span></code></a></td>
<td>ARIA presenter error: presenter not found for raw.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.Field" title="aria.parser.presentation.Field"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.Field</span></code></a></td>
<td>Field handler used by <code class="docutils literal"><span class="pre">&#64;has_fields</span></code> decorator.</td>
</tr>
<tr class="row-odd"><td><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.NULL</span></code></td>
<td>Represents an explicit null value provided by the user, which is different from not supplying a value at all.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.none_to_null" title="aria.parser.presentation.none_to_null"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.none_to_null</span></code></a></td>
<td>Convert <code class="docutils literal"><span class="pre">None</span></code> to <code class="docutils literal"><span class="pre">NULL</span></code>, recursively.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.null_to_none" title="aria.parser.presentation.null_to_none"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.null_to_none</span></code></a></td>
<td>Convert <code class="docutils literal"><span class="pre">NULL</span></code> to <code class="docutils literal"><span class="pre">None</span></code>, recursively.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.Value" title="aria.parser.presentation.Value"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.Value</span></code></a></td>
<td>Encapsulates a typed value assignment.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.Presenter" title="aria.parser.presentation.Presenter"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.Presenter</span></code></a></td>
<td>Base class for ARIA presenters.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.PresenterSource" title="aria.parser.presentation.PresenterSource"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.PresenterSource</span></code></a></td>
<td>Base class for ARIA presenter sources.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.DefaultPresenterSource" title="aria.parser.presentation.DefaultPresenterSource"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.DefaultPresenterSource</span></code></a></td>
<td>The default ARIA presenter source.</td>
</tr>
</tbody>
</table>
<div class="section" id="presentations">
<h2>Presentations<a class="headerlink" href="#presentations" title="Permalink to this headline"></a></h2>
<table border="1" class="longtable docutils">
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.PresentationBase" title="aria.parser.presentation.PresentationBase"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.PresentationBase</span></code></a></td>
<td>Base class for ARIA presentation classes.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.Presentation" title="aria.parser.presentation.Presentation"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.Presentation</span></code></a></td>
<td>Base class for ARIA presentations.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.AsIsPresentation" title="aria.parser.presentation.AsIsPresentation"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.AsIsPresentation</span></code></a></td>
<td>Base class for trivial ARIA presentations that provide the raw value as is.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="field-decorators">
<h2>Field decorators<a class="headerlink" href="#field-decorators" title="Permalink to this headline"></a></h2>
<table border="1" class="longtable docutils">
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.has_fields</span></code></a></td>
<td>Class decorator for validated field support.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.short_form_field" title="aria.parser.presentation.short_form_field"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.short_form_field</span></code></a></td>
<td>Class decorator for specifying the short form field.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.allow_unknown_fields" title="aria.parser.presentation.allow_unknown_fields"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.allow_unknown_fields</span></code></a></td>
<td>Class decorator specifying that the class allows unknown fields.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.primitive_field" title="aria.parser.presentation.primitive_field"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.primitive_field</span></code></a></td>
<td>Method decorator for primitive fields.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.primitive_list_field" title="aria.parser.presentation.primitive_list_field"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.primitive_list_field</span></code></a></td>
<td>Method decorator for list of primitive fields.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.primitive_dict_field" title="aria.parser.presentation.primitive_dict_field"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.primitive_dict_field</span></code></a></td>
<td>Method decorator for dict of primitive fields.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.primitive_dict_unknown_fields" title="aria.parser.presentation.primitive_dict_unknown_fields"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.primitive_dict_unknown_fields</span></code></a></td>
<td>Method decorator for dict of primitive fields, for all the fields that are not already decorated.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.object_field" title="aria.parser.presentation.object_field"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.object_field</span></code></a></td>
<td>Method decorator for object fields.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.object_list_field" title="aria.parser.presentation.object_list_field"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.object_list_field</span></code></a></td>
<td>Method decorator for list of object fields.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.object_dict_field" title="aria.parser.presentation.object_dict_field"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.object_dict_field</span></code></a></td>
<td>Method decorator for dict of object fields.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.object_sequenced_list_field" title="aria.parser.presentation.object_sequenced_list_field"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.object_sequenced_list_field</span></code></a></td>
<td>Method decorator for sequenced list of object fields.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.object_dict_unknown_fields" title="aria.parser.presentation.object_dict_unknown_fields"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.object_dict_unknown_fields</span></code></a></td>
<td>Method decorator for dict of object fields, for all the fields that are not already decorated.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.field_getter" title="aria.parser.presentation.field_getter"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.field_getter</span></code></a></td>
<td>Method decorator for overriding the getter function of a field.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.field_setter" title="aria.parser.presentation.field_setter"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.field_setter</span></code></a></td>
<td>Method decorator for overriding the setter function of a field.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.field_validator" title="aria.parser.presentation.field_validator"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.field_validator</span></code></a></td>
<td>Method decorator for overriding the validator function of a field.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="field-validators">
<h2>Field validators<a class="headerlink" href="#field-validators" title="Permalink to this headline"></a></h2>
<table border="1" class="longtable docutils">
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.type_validator" title="aria.parser.presentation.type_validator"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.type_validator</span></code></a></td>
<td>Makes sure that the field refers to an existing type defined in the root presenter.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.list_type_validator" title="aria.parser.presentation.list_type_validator"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.list_type_validator</span></code></a></td>
<td>Makes sure that the field’s elements refer to existing types defined in the root presenter.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.list_length_validator" title="aria.parser.presentation.list_length_validator"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.list_length_validator</span></code></a></td>
<td>Makes sure the field has exactly a specific number of elements.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.derived_from_validator" title="aria.parser.presentation.derived_from_validator"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.derived_from_validator</span></code></a></td>
<td>Makes sure that the field refers to a valid parent type defined in the root presenter.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="utilities">
<h2>Utilities<a class="headerlink" href="#utilities" title="Permalink to this headline"></a></h2>
<table border="1" class="longtable docutils">
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.get_locator" title="aria.parser.presentation.get_locator"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.get_locator</span></code></a></td>
<td>Gets the first available locator.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.parse_types_dict_names" title="aria.parser.presentation.parse_types_dict_names"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.parse_types_dict_names</span></code></a></td>
<td>If the first element in the array is a function, extracts it out.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.validate_primitive" title="aria.parser.presentation.validate_primitive"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.validate_primitive</span></code></a></td>
<td>Checks if the value is of the primitive type, optionally attempting to coerce it if it is not.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.validate_no_short_form" title="aria.parser.presentation.validate_no_short_form"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.validate_no_short_form</span></code></a></td>
<td>Makes sure that we can use short form definitions only if we allowed it.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.validate_no_unknown_fields" title="aria.parser.presentation.validate_no_unknown_fields"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.validate_no_unknown_fields</span></code></a></td>
<td>Make sure that we can use unknown fields only if we allowed it.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.validate_known_fields" title="aria.parser.presentation.validate_known_fields"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.validate_known_fields</span></code></a></td>
<td>Validates all known fields.</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.get_parent_presentation" title="aria.parser.presentation.get_parent_presentation"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.get_parent_presentation</span></code></a></td>
<td>Returns the parent presentation according to the <code class="docutils literal"><span class="pre">derived_from</span></code> field, or <code class="docutils literal"><span class="pre">None</span></code> if invalid.</td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.report_issue_for_unknown_type" title="aria.parser.presentation.report_issue_for_unknown_type"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.report_issue_for_unknown_type</span></code></a></td>
<td></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.report_issue_for_parent_is_self" title="aria.parser.presentation.report_issue_for_parent_is_self"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.report_issue_for_parent_is_self</span></code></a></td>
<td></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#aria.parser.presentation.report_issue_for_unknown_parent_type" title="aria.parser.presentation.report_issue_for_unknown_parent_type"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.report_issue_for_unknown_parent_type</span></code></a></td>
<td></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#aria.parser.presentation.report_issue_for_circular_type_hierarchy" title="aria.parser.presentation.report_issue_for_circular_type_hierarchy"><code class="xref py py-obj docutils literal"><span class="pre">aria.parser.presentation.report_issue_for_circular_type_hierarchy</span></code></a></td>
<td></td>
</tr>
</tbody>
</table>
<dl class="exception">
<dt id="aria.parser.presentation.PresenterException">
<em class="property">exception </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">PresenterException</code><span class="sig-paren">(</span><em>message=None</em>, <em>cause=None</em>, <em>cause_traceback=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.PresenterException" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="aria.html#aria.exceptions.AriaException" title="aria.exceptions.AriaException"><code class="xref py py-class docutils literal"><span class="pre">aria.exceptions.AriaException</span></code></a></p>
<p>ARIA presenter exception.</p>
</dd></dl>
<dl class="exception">
<dt id="aria.parser.presentation.PresenterNotFoundError">
<em class="property">exception </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">PresenterNotFoundError</code><span class="sig-paren">(</span><em>message=None</em>, <em>cause=None</em>, <em>cause_traceback=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.PresenterNotFoundError" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">aria.parser.presentation.exceptions.PresenterException</span></code></p>
<p>ARIA presenter error: presenter not found for raw.</p>
</dd></dl>
<dl class="class">
<dt id="aria.parser.presentation.PresentationContext">
<em class="property">class </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">PresentationContext</code><a class="headerlink" href="#aria.parser.presentation.PresentationContext" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Presentation context.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Variables:</th><td class="field-body"><ul class="first last simple">
<li><strong>presenter</strong> (<a class="reference internal" href="#aria.parser.presentation.Presenter" title="aria.parser.presentation.Presenter"><em>Presenter</em></a>) – the generated presenter instance</li>
<li><strong>location</strong> (<a class="reference internal" href="aria.parser.loading.html#aria.parser.loading.Location" title="aria.parser.loading.Location"><em>Location</em></a>) – from where we will generate the presenter</li>
<li><strong>presenter_source</strong> (<a class="reference internal" href="#aria.parser.presentation.PresenterSource" title="aria.parser.presentation.PresenterSource"><em>PresenterSource</em></a>) – for finding presenter classes</li>
<li><strong>presenter_class</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#type" title="(in Python v2.7)"><em>type</em></a>) – overrides <code class="docutils literal"><span class="pre">presenter_source</span></code> with a specific class</li>
<li><strong>import_profile</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – whether to import the profile by default (defaults to <code class="docutils literal"><span class="pre">True</span></code>)</li>
<li><strong>threads</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#int" title="(in Python v2.7)"><em>int</em></a>) – number of threads to use when reading data</li>
<li><strong>timeout</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#float" title="(in Python v2.7)"><em>float</em></a>) – timeout in seconds for loading data</li>
<li><strong>print_exceptions</strong> (<a class="reference external" href="https://docs.python.org/2.7/library/functions.html#bool" title="(in Python v2.7)"><em>bool</em></a>) – whether to print exceptions while reading data</li>
</ul>
</td>
</tr>
</tbody>
</table>
<dl class="method">
<dt id="aria.parser.presentation.PresentationContext.get">
<code class="descname">get</code><span class="sig-paren">(</span><em>*names</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.PresentationContext.get" title="Permalink to this definition"></a></dt>
<dd><p>Gets attributes recursively from the presenter.</p>
</dd></dl>
<dl class="method">
<dt id="aria.parser.presentation.PresentationContext.get_from_dict">
<code class="descname">get_from_dict</code><span class="sig-paren">(</span><em>*names</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.PresentationContext.get_from_dict" title="Permalink to this definition"></a></dt>
<dd><p>Gets attributes recursively from the presenter, except for the last name which is used
to get a value from the last dict.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.parser.presentation.Presenter">
<em class="property">class </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">Presenter</code><span class="sig-paren">(</span><em>name=None</em>, <em>raw=None</em>, <em>container=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Presenter" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">aria.parser.presentation.presentation.Presentation</span></code></p>
<p>Base class for ARIA presenters.</p>
<p>Presenters provide a robust API over agnostic raw data.</p>
<dl class="attribute">
<dt id="aria.parser.presentation.Presenter.ALLOWED_IMPORTED_DSL_VERSIONS">
<code class="descname">ALLOWED_IMPORTED_DSL_VERSIONS</code><em class="property"> = None</em><a class="headerlink" href="#aria.parser.presentation.Presenter.ALLOWED_IMPORTED_DSL_VERSIONS" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="aria.parser.presentation.Presenter.DSL_VERSIONS">
<code class="descname">DSL_VERSIONS</code><em class="property"> = None</em><a class="headerlink" href="#aria.parser.presentation.Presenter.DSL_VERSIONS" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="classmethod">
<dt id="aria.parser.presentation.Presenter.can_present">
<em class="property">classmethod </em><code class="descname">can_present</code><span class="sig-paren">(</span><em>raw</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Presenter.can_present" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.parser.presentation.Value">
<em class="property">class </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">Value</code><span class="sig-paren">(</span><em>type_name</em>, <em>value</em>, <em>description</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Value" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Encapsulates a typed value assignment.</p>
</dd></dl>
<dl class="class">
<dt id="aria.parser.presentation.PresentationBase">
<em class="property">class </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">PresentationBase</code><span class="sig-paren">(</span><em>name=None</em>, <em>raw=None</em>, <em>container=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.PresentationBase" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="aria.utils.html#aria.utils.caching.HasCachedMethods" title="aria.utils.caching.HasCachedMethods"><code class="xref py py-class docutils literal"><span class="pre">aria.utils.caching.HasCachedMethods</span></code></a></p>
<p>Base class for ARIA presentation classes.</p>
<dl class="attribute">
<dt id="aria.parser.presentation.PresentationBase.as_raw">
<code class="descname">as_raw</code><a class="headerlink" href="#aria.parser.presentation.PresentationBase.as_raw" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.parser.presentation.Presentation">
<em class="property">class </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">Presentation</code><span class="sig-paren">(</span><em>name=None</em>, <em>raw=None</em>, <em>container=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Presentation" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">aria.parser.presentation.presentation.PresentationBase</span></code></p>
<p>Base class for ARIA presentations. A presentation is a Pythonic wrapper around agnostic raw
data, adding the ability to read and modify the data with proper validation.</p>
<p>ARIA presentation classes will often be decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>, as that mechanism
automates a lot of field-specific validation. However, that is not a requirement.</p>
<p>Make sure that your utility property and method names begin with a <code class="docutils literal"><span class="pre">_</span></code>, because those names
without a <code class="docutils literal"><span class="pre">_</span></code> prefix are normally reserved for fields.</p>
</dd></dl>
<dl class="class">
<dt id="aria.parser.presentation.AsIsPresentation">
<em class="property">class </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">AsIsPresentation</code><span class="sig-paren">(</span><em>name=None</em>, <em>raw=None</em>, <em>container=None</em>, <em>cls=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.AsIsPresentation" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">aria.parser.presentation.presentation.PresentationBase</span></code></p>
<p>Base class for trivial ARIA presentations that provide the raw value as is.</p>
<dl class="attribute">
<dt id="aria.parser.presentation.AsIsPresentation.value">
<code class="descname">value</code><a class="headerlink" href="#aria.parser.presentation.AsIsPresentation.value" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.parser.presentation.PresenterSource">
<em class="property">class </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">PresenterSource</code><a class="headerlink" href="#aria.parser.presentation.PresenterSource" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Base class for ARIA presenter sources.</p>
<p>Presenter sources provide appropriate <a class="reference internal" href="#aria.parser.presentation.Presenter" title="aria.parser.presentation.Presenter"><code class="xref py py-class docutils literal"><span class="pre">Presenter</span></code></a> classes for agnostic raw data.</p>
<dl class="method">
<dt id="aria.parser.presentation.PresenterSource.get_presenter">
<code class="descname">get_presenter</code><span class="sig-paren">(</span><em>raw</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.PresenterSource.get_presenter" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="aria.parser.presentation.DefaultPresenterSource">
<em class="property">class </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">DefaultPresenterSource</code><span class="sig-paren">(</span><em>classes=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.DefaultPresenterSource" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">aria.parser.presentation.source.PresenterSource</span></code></p>
<p>The default ARIA presenter source.</p>
<dl class="method">
<dt id="aria.parser.presentation.DefaultPresenterSource.get_presenter">
<code class="descname">get_presenter</code><span class="sig-paren">(</span><em>raw</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.DefaultPresenterSource.get_presenter" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.none_to_null">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">none_to_null</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.none_to_null" title="Permalink to this definition"></a></dt>
<dd><p>Convert <code class="docutils literal"><span class="pre">None</span></code> to <code class="docutils literal"><span class="pre">NULL</span></code>, recursively.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.null_to_none">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">null_to_none</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.null_to_none" title="Permalink to this definition"></a></dt>
<dd><p>Convert <code class="docutils literal"><span class="pre">NULL</span></code> to <code class="docutils literal"><span class="pre">None</span></code>, recursively.</p>
</dd></dl>
<dl class="class">
<dt id="aria.parser.presentation.Field">
<em class="property">class </em><code class="descclassname">aria.parser.presentation.</code><code class="descname">Field</code><span class="sig-paren">(</span><em>field_variant</em>, <em>func</em>, <em>cls=None</em>, <em>default=None</em>, <em>allowed=None</em>, <em>required=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Field" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/2.7/library/functions.html#object" title="(in Python v2.7)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Field handler used by <code class="docutils literal"><span class="pre">&#64;has_fields</span></code> decorator.</p>
<dl class="method">
<dt id="aria.parser.presentation.Field.default_get">
<code class="descname">default_get</code><span class="sig-paren">(</span><em>presentation</em>, <em>context</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Field.default_get" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.parser.presentation.Field.default_set">
<code class="descname">default_set</code><span class="sig-paren">(</span><em>presentation</em>, <em>context</em>, <em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Field.default_set" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.parser.presentation.Field.default_validate">
<code class="descname">default_validate</code><span class="sig-paren">(</span><em>presentation</em>, <em>context</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Field.default_validate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.parser.presentation.Field.dump">
<code class="descname">dump</code><span class="sig-paren">(</span><em>presentation</em>, <em>context</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Field.dump" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="aria.parser.presentation.Field.full_cls_name">
<code class="descname">full_cls_name</code><a class="headerlink" href="#aria.parser.presentation.Field.full_cls_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="aria.parser.presentation.Field.full_name">
<code class="descname">full_name</code><a class="headerlink" href="#aria.parser.presentation.Field.full_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.parser.presentation.Field.get">
<code class="descname">get</code><span class="sig-paren">(</span><em>presentation</em>, <em>context</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Field.get" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.parser.presentation.Field.get_locator">
<code class="descname">get_locator</code><span class="sig-paren">(</span><em>raw</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Field.get_locator" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.parser.presentation.Field.set">
<code class="descname">set</code><span class="sig-paren">(</span><em>presentation</em>, <em>context</em>, <em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Field.set" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.parser.presentation.Field.validate">
<code class="descname">validate</code><span class="sig-paren">(</span><em>presentation</em>, <em>context</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Field.validate" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="aria.parser.presentation.Field.validate_value">
<code class="descname">validate_value</code><span class="sig-paren">(</span><em>value</em>, <em>context</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.Field.validate_value" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.has_fields">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">has_fields</code><span class="sig-paren">(</span><em>cls</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.has_fields" title="Permalink to this definition"></a></dt>
<dd><p>Class decorator for validated field support.</p>
<ol class="arabic simple">
<li>Adds a <code class="docutils literal"><span class="pre">FIELDS</span></code> class property that is a dict of all the fields. Will inherit and merge
<code class="docutils literal"><span class="pre">FIELDS</span></code> properties from base classes if they have them.</li>
<li>Generates automatic <code class="docutils literal"><span class="pre">&#64;property</span></code> implementations for the fields with the help of a set of
special function decorators.</li>
</ol>
<p>The class also works with the Python dict protocol, so that fields can be accessed via dict
semantics. The functionality is identical to that of using attribute access.</p>
<p>The class will also gain two utility methods, <code class="docutils literal"><span class="pre">_iter_field_names</span></code> and <code class="docutils literal"><span class="pre">_iter_fields</span></code>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.short_form_field">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">short_form_field</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.short_form_field" title="Permalink to this definition"></a></dt>
<dd><p>Class decorator for specifying the short form field.</p>
<p>The class must be decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.allow_unknown_fields">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">allow_unknown_fields</code><span class="sig-paren">(</span><em>cls</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.allow_unknown_fields" title="Permalink to this definition"></a></dt>
<dd><p>Class decorator specifying that the class allows unknown fields.</p>
<p>The class must be decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.primitive_field">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">primitive_field</code><span class="sig-paren">(</span><em>cls=None</em>, <em>default=None</em>, <em>allowed=None</em>, <em>required=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.primitive_field" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for primitive fields.</p>
<p>The function must be a method in a class decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.primitive_list_field">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">primitive_list_field</code><span class="sig-paren">(</span><em>cls=None</em>, <em>default=None</em>, <em>allowed=None</em>, <em>required=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.primitive_list_field" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for list of primitive fields.</p>
<p>The function must be a method in a class decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.primitive_dict_field">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">primitive_dict_field</code><span class="sig-paren">(</span><em>cls=None</em>, <em>default=None</em>, <em>allowed=None</em>, <em>required=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.primitive_dict_field" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for dict of primitive fields.</p>
<p>The function must be a method in a class decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.primitive_dict_unknown_fields">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">primitive_dict_unknown_fields</code><span class="sig-paren">(</span><em>cls=None</em>, <em>default=None</em>, <em>allowed=None</em>, <em>required=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.primitive_dict_unknown_fields" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for dict of primitive fields, for all the fields that are
not already decorated.</p>
<p>The function must be a method in a class decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.object_field">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">object_field</code><span class="sig-paren">(</span><em>cls</em>, <em>default=None</em>, <em>allowed=None</em>, <em>required=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.object_field" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for object fields.</p>
<p>The function must be a method in a class decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.object_list_field">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">object_list_field</code><span class="sig-paren">(</span><em>cls</em>, <em>default=None</em>, <em>allowed=None</em>, <em>required=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.object_list_field" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for list of object fields.</p>
<p>The function must be a method in a class decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.object_dict_field">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">object_dict_field</code><span class="sig-paren">(</span><em>cls</em>, <em>default=None</em>, <em>allowed=None</em>, <em>required=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.object_dict_field" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for dict of object fields.</p>
<p>The function must be a method in a class decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.object_sequenced_list_field">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">object_sequenced_list_field</code><span class="sig-paren">(</span><em>cls</em>, <em>default=None</em>, <em>allowed=None</em>, <em>required=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.object_sequenced_list_field" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for sequenced list of object fields.</p>
<p>The function must be a method in a class decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.object_dict_unknown_fields">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">object_dict_unknown_fields</code><span class="sig-paren">(</span><em>cls</em>, <em>default=None</em>, <em>allowed=None</em>, <em>required=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.object_dict_unknown_fields" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for dict of object fields, for all the fields that are not already decorated.</p>
<p>The function must be a method in a class decorated with <a class="reference internal" href="#aria.parser.presentation.has_fields" title="aria.parser.presentation.has_fields"><code class="xref py py-func docutils literal"><span class="pre">has_fields()</span></code></a>.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.field_getter">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">field_getter</code><span class="sig-paren">(</span><em>getter_func</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.field_getter" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for overriding the getter function of a field.</p>
<p>The signature of the getter function must be: <code class="docutils literal"><span class="pre">f(field,</span> <span class="pre">presentation,</span> <span class="pre">context)</span></code>.
The default getter can be accessed as <code class="docutils literal"><span class="pre">`field.default_get(presentation,</span> <span class="pre">context)</span></code>.</p>
<p>The function must already be decorated with a field decorator.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.field_setter">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">field_setter</code><span class="sig-paren">(</span><em>setter_func</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.field_setter" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for overriding the setter function of a field.</p>
<p>The signature of the setter function must be: <code class="docutils literal"><span class="pre">f(field,</span> <span class="pre">presentation,</span> <span class="pre">context,</span> <span class="pre">value)</span></code>.
The default setter can be accessed as <code class="docutils literal"><span class="pre">field.default_set(presentation,</span> <span class="pre">context,</span> <span class="pre">value)</span></code>.</p>
<p>The function must already be decorated with a field decorator.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.field_validator">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">field_validator</code><span class="sig-paren">(</span><em>validator_fn</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.field_validator" title="Permalink to this definition"></a></dt>
<dd><p>Method decorator for overriding the validator function of a field.</p>
<p>The signature of the validator function must be: <code class="docutils literal"><span class="pre">f(field,</span> <span class="pre">presentation,</span> <span class="pre">context)</span></code>.
The default validator can be accessed as <code class="docutils literal"><span class="pre">field.default_validate(presentation,</span> <span class="pre">context)</span></code>.</p>
<p>The function must already be decorated with a field decorator.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.type_validator">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">type_validator</code><span class="sig-paren">(</span><em>type_name</em>, <em>*types_dict_names</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.type_validator" title="Permalink to this definition"></a></dt>
<dd><p>Makes sure that the field refers to an existing type defined in the root presenter.</p>
<p>The arguments from the second onwards are used to locate a nested field under
<code class="docutils literal"><span class="pre">service_template</span></code> under the root presenter. The first of these can optionally be a function,
in which case it will be called to convert type names. This can be used to support shorthand
type names, aliases, etc.</p>
<p>Can be used with the <a class="reference internal" href="#aria.parser.presentation.field_validator" title="aria.parser.presentation.field_validator"><code class="xref py py-func docutils literal"><span class="pre">field_validator()</span></code></a> decorator.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.list_type_validator">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">list_type_validator</code><span class="sig-paren">(</span><em>type_name</em>, <em>*types_dict_names</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.list_type_validator" title="Permalink to this definition"></a></dt>
<dd><p>Makes sure that the field’s elements refer to existing types defined in the root presenter.</p>
<p>Assumes that the field is a list.</p>
<p>The arguments from the second onwards are used to locate a nested field under
<code class="docutils literal"><span class="pre">service_template</span></code> under the root presenter. The first of these can optionally be a function,
in which case it will be called to convert type names. This can be used to support shorthand
type names, aliases, etc.</p>
<p>Can be used with the <a class="reference internal" href="#aria.parser.presentation.field_validator" title="aria.parser.presentation.field_validator"><code class="xref py py-func docutils literal"><span class="pre">field_validator()</span></code></a> decorator.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.list_length_validator">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">list_length_validator</code><span class="sig-paren">(</span><em>length</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.list_length_validator" title="Permalink to this definition"></a></dt>
<dd><p>Makes sure the field has exactly a specific number of elements.</p>
<p>Assumes that the field is a list.</p>
<p>Can be used with the <a class="reference internal" href="#aria.parser.presentation.field_validator" title="aria.parser.presentation.field_validator"><code class="xref py py-func docutils literal"><span class="pre">field_validator()</span></code></a> decorator.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.derived_from_validator">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">derived_from_validator</code><span class="sig-paren">(</span><em>*types_dict_names</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.derived_from_validator" title="Permalink to this definition"></a></dt>
<dd><p>Makes sure that the field refers to a valid parent type defined in the root presenter.</p>
<p>Checks that we do not derive from ourselves and that we do not cause a circular hierarchy.</p>
<p>The arguments are used to locate a nested field under <code class="docutils literal"><span class="pre">service_template</span></code> under the root
presenter. The first of these can optionally be a function, in which case it will be called to
convert type names. This can be used to support shorthand type names, aliases, etc.</p>
<p>Can be used with the <a class="reference internal" href="#aria.parser.presentation.field_validator" title="aria.parser.presentation.field_validator"><code class="xref py py-func docutils literal"><span class="pre">field_validator()</span></code></a> decorator.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.get_locator">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">get_locator</code><span class="sig-paren">(</span><em>*values</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.get_locator" title="Permalink to this definition"></a></dt>
<dd><p>Gets the first available locator.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="aria.parser.reading.html#aria.parser.reading.Locator" title="aria.parser.reading.Locator"><code class="xref py py-class docutils literal"><span class="pre">aria.parser.reading.Locator</span></code></a></td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.parse_types_dict_names">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">parse_types_dict_names</code><span class="sig-paren">(</span><em>types_dict_names</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.parse_types_dict_names" title="Permalink to this definition"></a></dt>
<dd><p>If the first element in the array is a function, extracts it out.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.validate_primitive">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">validate_primitive</code><span class="sig-paren">(</span><em>value</em>, <em>cls</em>, <em>coerce=False</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.validate_primitive" title="Permalink to this definition"></a></dt>
<dd><p>Checks if the value is of the primitive type, optionally attempting to coerce it
if it is not.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><strong>ValueError</strong> – if not a primitive type or if coercion failed.</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.validate_no_short_form">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">validate_no_short_form</code><span class="sig-paren">(</span><em>context</em>, <em>presentation</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.validate_no_short_form" title="Permalink to this definition"></a></dt>
<dd><p>Makes sure that we can use short form definitions only if we allowed it.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.validate_no_unknown_fields">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">validate_no_unknown_fields</code><span class="sig-paren">(</span><em>context</em>, <em>presentation</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.validate_no_unknown_fields" title="Permalink to this definition"></a></dt>
<dd><p>Make sure that we can use unknown fields only if we allowed it.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.validate_known_fields">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">validate_known_fields</code><span class="sig-paren">(</span><em>context</em>, <em>presentation</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.validate_known_fields" title="Permalink to this definition"></a></dt>
<dd><p>Validates all known fields.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.get_parent_presentation">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">get_parent_presentation</code><span class="sig-paren">(</span><em>context</em>, <em>presentation</em>, <em>*types_dict_names</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.get_parent_presentation" title="Permalink to this definition"></a></dt>
<dd><p>Returns the parent presentation according to the <code class="docutils literal"><span class="pre">derived_from</span></code> field, or <code class="docutils literal"><span class="pre">None</span></code> if invalid.</p>
<p>Checks that we do not derive from ourselves and that we do not cause a circular hierarchy.</p>
<p>The arguments from the third onwards are used to locate a nested field under
<code class="docutils literal"><span class="pre">service_template</span></code> under the root presenter. The first of these can optionally be a function,
in which case it will be called to convert type names. This can be used to support shorthand
type names, aliases, etc.</p>
</dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.report_issue_for_unknown_type">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">report_issue_for_unknown_type</code><span class="sig-paren">(</span><em>context</em>, <em>presentation</em>, <em>type_name</em>, <em>field_name</em>, <em>value=None</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.report_issue_for_unknown_type" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.report_issue_for_unknown_parent_type">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">report_issue_for_unknown_parent_type</code><span class="sig-paren">(</span><em>context</em>, <em>presentation</em>, <em>field_name</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.report_issue_for_unknown_parent_type" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.report_issue_for_parent_is_self">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">report_issue_for_parent_is_self</code><span class="sig-paren">(</span><em>context</em>, <em>presentation</em>, <em>field_name</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.report_issue_for_parent_is_self" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="aria.parser.presentation.report_issue_for_circular_type_hierarchy">
<code class="descclassname">aria.parser.presentation.</code><code class="descname">report_issue_for_circular_type_hierarchy</code><span class="sig-paren">(</span><em>context</em>, <em>presentation</em>, <em>field_name</em><span class="sig-paren">)</span><a class="headerlink" href="#aria.parser.presentation.report_issue_for_circular_type_hierarchy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
</div>
</div>
<div class="articleComments">
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="aria.parser.reading.html" class="btn btn-neutral float-right" title="aria.parser.reading" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="aria.parser.modeling.html" class="btn btn-neutral" title="aria.parser.modeling" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2016-2017, Apache Software Foundation.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'0.1.1',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>