5 <title>JSDoc: Class: Builder</title>
7 <script src="scripts/prettify/prettify.js"> </script>
8 <script src="scripts/prettify/lang-css.js"> </script>
10 <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
12 <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
13 <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
20 <h1 class="page-title">Class: Builder</h1>
32 <span class="ancestors"><a href="ProtoBuf.html">ProtoBuf</a>.</span>
37 <div class="class-description"><p>Provides the functionality to build protocol messages.</p></div>
43 <div class="container-overview">
51 <h4 class="name" id="Builder"><span class="type-signature"></span>new Builder<span class="signature">(options<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
57 <div class="description">
58 <p>Constructs a new Builder.</p>
72 <table class="params">
87 <th class="last">Description</th>
96 <td class="name"><code>options</code></td>
102 <span class="param-type">Object.<string, *></span>
109 <td class="attributes">
122 <td class="description last"><p>Options</p></td>
161 <dt class="tag-source">Source:</dt>
162 <dd class="tag-source"><ul class="dummy"><li>
163 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4295">line 4295</a>
197 <h3 class="subsection-title">Classes</h3>
200 <dt><a href="ProtoBuf.Builder.Message.html">Message</a></dt>
203 <dt><a href="ProtoBuf.Builder.Service.html">Service</a></dt>
213 <h3 class="subsection-title">Members</h3>
217 <h4 class="name" id="files"><span class="type-signature"></span>files<span class="type-signature"> :Array.<string></span></h4>
222 <div class="description">
223 <p>Imported files.</p>
232 <span class="param-type">Array.<string></span>
269 <dt class="tag-source">Source:</dt>
270 <dd class="tag-source"><ul class="dummy"><li>
271 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4330">line 4330</a>
289 <h4 class="name" id="importRoot"><span class="type-signature">(nullable) </span>importRoot<span class="type-signature"> :string</span></h4>
294 <div class="description">
295 <p>Import root override.</p>
304 <span class="param-type">string</span>
341 <dt class="tag-source">Source:</dt>
342 <dd class="tag-source"><ul class="dummy"><li>
343 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4337">line 4337</a>
361 <h4 class="name" id="ns"><span class="type-signature"></span>ns<span class="type-signature"> :<a href="ProtoBuf.Reflect.Namespace.html">ProtoBuf.Reflect.Namespace</a></span></h4>
366 <div class="description">
376 <span class="param-type"><a href="ProtoBuf.Reflect.Namespace.html">ProtoBuf.Reflect.Namespace</a></span>
413 <dt class="tag-source">Source:</dt>
414 <dd class="tag-source"><ul class="dummy"><li>
415 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4302">line 4302</a>
433 <h4 class="name" id="options"><span class="type-signature">(non-null) </span>options<span class="type-signature"> :Object.<string, *></span></h4>
438 <div class="description">
448 <span class="param-type">Object.<string, *></span>
485 <dt class="tag-source">Source:</dt>
486 <dd class="tag-source"><ul class="dummy"><li>
487 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4344">line 4344</a>
505 <h4 class="name" id="ptr"><span class="type-signature"></span>ptr<span class="type-signature"> :<a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a></span></h4>
510 <div class="description">
511 <p>Namespace pointer.</p>
520 <span class="param-type"><a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a></span>
557 <dt class="tag-source">Source:</dt>
558 <dd class="tag-source"><ul class="dummy"><li>
559 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4309">line 4309</a>
577 <h4 class="name" id="resolved"><span class="type-signature"></span>resolved<span class="type-signature"> :boolean</span></h4>
582 <div class="description">
583 <p>Resolved flag.</p>
592 <span class="param-type">boolean</span>
629 <dt class="tag-source">Source:</dt>
630 <dd class="tag-source"><ul class="dummy"><li>
631 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4316">line 4316</a>
649 <h4 class="name" id="result"><span class="type-signature"></span>result<span class="type-signature"> :Object.<string, (<a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a>|Object)>|null</span></h4>
654 <div class="description">
655 <p>The current building result.</p>
664 <span class="param-type">Object.<string, (<a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a>|Object)></span>
667 <span class="param-type">null</span>
704 <dt class="tag-source">Source:</dt>
705 <dd class="tag-source"><ul class="dummy"><li>
706 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4323">line 4323</a>
726 <h3 class="subsection-title">Methods</h3>
733 <h4 class="name" id=".isEnum"><span class="type-signature">(static) </span>isEnum<span class="signature">(def<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {boolean}</span></h4>
739 <div class="description">
740 <p>Tests if a definition most likely describes an enum.</p>
754 <table class="params">
767 <th class="last">Description</th>
776 <td class="name"><code>def</code></td>
782 <span class="param-type">Object</span>
792 <td class="description last"></td>
831 <dt class="tag-source">Source:</dt>
832 <dd class="tag-source"><ul class="dummy"><li>
833 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4390">line 4390</a>
867 <span class="param-type">boolean</span>
882 <h4 class="name" id=".isExtend"><span class="type-signature">(static) </span>isExtend<span class="signature">(def<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {boolean}</span></h4>
888 <div class="description">
889 <p>Tests if a definition most likely describes an extended message</p>
903 <table class="params">
916 <th class="last">Description</th>
925 <td class="name"><code>def</code></td>
931 <span class="param-type">Object</span>
941 <td class="description last"></td>
980 <dt class="tag-source">Source:</dt>
981 <dd class="tag-source"><ul class="dummy"><li>
982 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4419">line 4419</a>
1016 <span class="param-type">boolean</span>
1031 <h4 class="name" id=".isMessage"><span class="type-signature">(static) </span>isMessage<span class="signature">(def<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {boolean}</span></h4>
1037 <div class="description">
1038 <p>Tests if a definition most likely describes a message.</p>
1049 <h5>Parameters:</h5>
1052 <table class="params">
1065 <th class="last">Description</th>
1074 <td class="name"><code>def</code></td>
1080 <span class="param-type">Object</span>
1090 <td class="description last"></td>
1102 <dl class="details">
1129 <dt class="tag-source">Source:</dt>
1130 <dd class="tag-source"><ul class="dummy"><li>
1131 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4361">line 4361</a>
1165 <span class="param-type">boolean</span>
1180 <h4 class="name" id=".isMessageField"><span class="type-signature">(static) </span>isMessageField<span class="signature">(def<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {boolean}</span></h4>
1186 <div class="description">
1187 <p>Tests if a definition most likely describes a message field.</p>
1198 <h5>Parameters:</h5>
1201 <table class="params">
1214 <th class="last">Description</th>
1223 <td class="name"><code>def</code></td>
1229 <span class="param-type">Object</span>
1239 <td class="description last"></td>
1251 <dl class="details">
1278 <dt class="tag-source">Source:</dt>
1279 <dd class="tag-source"><ul class="dummy"><li>
1280 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4377">line 4377</a>
1314 <span class="param-type">boolean</span>
1329 <h4 class="name" id=".isService"><span class="type-signature">(static) </span>isService<span class="signature">(def<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → {boolean}</span></h4>
1335 <div class="description">
1336 <p>Tests if a definition most likely describes a service.</p>
1347 <h5>Parameters:</h5>
1350 <table class="params">
1363 <th class="last">Description</th>
1372 <td class="name"><code>def</code></td>
1378 <span class="param-type">Object</span>
1388 <td class="description last"></td>
1400 <dl class="details">
1427 <dt class="tag-source">Source:</dt>
1428 <dd class="tag-source"><ul class="dummy"><li>
1429 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4406">line 4406</a>
1463 <span class="param-type">boolean</span>
1478 <h4 class="name" id="%22import%22%5D"><span class="type-signature"></span>"import"]<span class="signature">(json, filename<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → (non-null) {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>}</span></h4>
1484 <div class="description">
1485 <p>Imports another definition into this builder.</p>
1496 <h5>Parameters:</h5>
1499 <table class="params">
1514 <th class="last">Description</th>
1523 <td class="name"><code>json</code></td>
1529 <span class="param-type">Object.<string, *></span>
1536 <td class="attributes">
1547 <td class="description last"><p>Parsed import</p></td>
1554 <td class="name"><code>filename</code></td>
1560 <span class="param-type">string</span>
1563 <span class="param-type">Object</span>
1570 <td class="attributes">
1583 <td class="description last"><p>Imported file name</p></td>
1595 <dl class="details">
1622 <dt class="tag-source">Source:</dt>
1623 <dd class="tag-source"><ul class="dummy"><li>
1624 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4640">line 4640</a>
1651 <div class="param-desc">
1652 <p>If the definition or file cannot be imported</p>
1663 <span class="param-type">Error</span>
1679 <div class="param-desc">
1691 <span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
1706 <h4 class="name" id="build"><span class="type-signature"></span>build<span class="signature">(path<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {<a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a>|!Object.<string, *>}</span></h4>
1712 <div class="description">
1713 <p>Builds the protocol. This will first try to resolve all definitions and, if this has been successful,
1714 return the built package.</p>
1725 <h5>Parameters:</h5>
1728 <table class="params">
1743 <th class="last">Description</th>
1752 <td class="name"><code>path</code></td>
1758 <span class="param-type">string</span>
1761 <span class="param-type">Array.<string></span>
1768 <td class="attributes">
1781 <td class="description last"><p>Specifies what to return. If omitted, the entire namespace will be returned.</p></td>
1793 <dl class="details">
1820 <dt class="tag-source">Source:</dt>
1821 <dd class="tag-source"><ul class="dummy"><li>
1822 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4853">line 4853</a>
1849 <div class="param-desc">
1850 <p>If a type could not be resolved</p>
1861 <span class="param-type">Error</span>
1885 <span class="param-type"><a href="ProtoBuf.Builder.Message.html">ProtoBuf.Builder.Message</a></span>
1888 <span class="param-type">!Object.<string, *></span>
1903 <h4 class="name" id="create"><span class="type-signature"></span>create<span class="signature">(defs<span class="signature-attributes">non-null</span>)</span><span class="type-signature"> → (non-null) {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>}</span></h4>
1909 <div class="description">
1910 <p>Creates the specified definitions at the current pointer position.</p>
1921 <h5>Parameters:</h5>
1924 <table class="params">
1937 <th class="last">Description</th>
1946 <td class="name"><code>defs</code></td>
1952 <span class="param-type">Array.<!Object></span>
1962 <td class="description last"><p>Messages, enums or services to create</p></td>
1974 <dl class="details">
2001 <dt class="tag-source">Source:</dt>
2002 <dd class="tag-source"><ul class="dummy"><li>
2003 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4463">line 4463</a>
2030 <div class="param-desc">
2031 <p>If a message definition is invalid</p>
2042 <span class="param-type">Error</span>
2058 <div class="param-desc">
2070 <span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
2085 <h4 class="name" id="define"><span class="type-signature"></span>define<span class="signature">(namespace)</span><span class="type-signature"> → (non-null) {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>}</span></h4>
2091 <div class="description">
2092 <p>Defines a namespace on top of the current pointer position and places the pointer on it.</p>
2103 <h5>Parameters:</h5>
2106 <table class="params">
2119 <th class="last">Description</th>
2128 <td class="name"><code>namespace</code></td>
2134 <span class="param-type">string</span>
2144 <td class="description last"></td>
2156 <dl class="details">
2183 <dt class="tag-source">Source:</dt>
2184 <dd class="tag-source"><ul class="dummy"><li>
2185 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4444">line 4444</a>
2211 <div class="param-desc">
2223 <span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
2238 <h4 class="name" id="lookup"><span class="type-signature"></span>lookup<span class="signature">(path<span class="signature-attributes">opt</span>, excludeNonNamespace<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → (nullable) {<a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a>}</span></h4>
2244 <div class="description">
2245 <p>Similar to <a href="ProtoBuf.Builder.html#build">ProtoBuf.Builder#build</a>, but looks up the internal reflection descriptor.</p>
2256 <h5>Parameters:</h5>
2259 <table class="params">
2274 <th class="last">Description</th>
2283 <td class="name"><code>path</code></td>
2289 <span class="param-type">string</span>
2296 <td class="attributes">
2309 <td class="description last"><p>Specifies what to return. If omitted, the entire namespace wiil be returned.</p></td>
2316 <td class="name"><code>excludeNonNamespace</code></td>
2322 <span class="param-type">boolean</span>
2329 <td class="attributes">
2342 <td class="description last"><p>Excludes non-namespace types like fields, defaults to <code>false</code></p></td>
2354 <dl class="details">
2381 <dt class="tag-source">Source:</dt>
2382 <dd class="tag-source"><ul class="dummy"><li>
2383 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4881">line 4881</a>
2409 <div class="param-desc">
2410 <p>Reflection descriptor or <code>null</code> if not found</p>
2421 <span class="param-type"><a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a></span>
2436 <h4 class="name" id="reset"><span class="type-signature"></span>reset<span class="signature">()</span><span class="type-signature"> → (non-null) {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>}</span></h4>
2442 <div class="description">
2443 <p>Resets the pointer to the root namespace.</p>
2458 <dl class="details">
2485 <dt class="tag-source">Source:</dt>
2486 <dd class="tag-source"><ul class="dummy"><li>
2487 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4433">line 4433</a>
2513 <div class="param-desc">
2525 <span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
2540 <h4 class="name" id="resolveAll"><span class="type-signature"></span>resolveAll<span class="signature">()</span><span class="type-signature"> → (non-null) {<a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a>}</span></h4>
2546 <div class="description">
2547 <p>Resolves all namespace objects.</p>
2562 <dl class="details">
2589 <dt class="tag-source">Source:</dt>
2590 <dd class="tag-source"><ul class="dummy"><li>
2591 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4769">line 4769</a>
2618 <div class="param-desc">
2619 <p>If a type cannot be resolved</p>
2630 <span class="param-type">Error</span>
2646 <div class="param-desc">
2658 <span class="param-type"><a href="ProtoBuf.Builder.html">ProtoBuf.Builder</a></span>
2673 <h4 class="name" id="toString"><span class="type-signature"></span>toString<span class="signature">()</span><span class="type-signature"> → {string}</span></h4>
2679 <div class="description">
2680 <p>Returns a string representation of this object.</p>
2695 <dl class="details">
2722 <dt class="tag-source">Source:</dt>
2723 <dd class="tag-source"><ul class="dummy"><li>
2724 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line4890">line 4890</a>
2750 <div class="param-desc">
2751 <p>String representation as of "Builder"</p>
2762 <span class="param-type">string</span>
2788 <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="ProtoBuf.Builder.html">Builder</a></li><li><a href="ProtoBuf.Builder.Message.html">Message</a></li><li><a href="ProtoBuf.Builder.Service.html">Service</a></li><li><a href="ProtoBuf.DotProto.Parser.html">Parser</a></li><li><a href="ProtoBuf.DotProto.Tokenizer.html">Tokenizer</a></li><li><a href="ProtoBuf.Map.html">Map</a></li><li><a href="ProtoBuf.Reflect.Element.html">Element</a></li><li><a href="ProtoBuf.Reflect.Enum.html">Enum</a></li><li><a href="ProtoBuf.Reflect.Enum.Value.html">Value</a></li><li><a href="ProtoBuf.Reflect.Extension.html">Extension</a></li><li><a href="ProtoBuf.Reflect.Message.html">Message</a></li><li><a href="ProtoBuf.Reflect.Message.ExtensionField.html">ExtensionField</a></li><li><a href="ProtoBuf.Reflect.Message.Field.html">Field</a></li><li><a href="ProtoBuf.Reflect.Message.OneOf.html">OneOf</a></li><li><a href="ProtoBuf.Reflect.Namespace.html">Namespace</a></li><li><a href="ProtoBuf.Reflect.Service.html">Service</a></li><li><a href="ProtoBuf.Reflect.Service.Method.html">Method</a></li><li><a href="ProtoBuf.Reflect.Service.RPCMethod.html">RPCMethod</a></li><li><a href="ProtoBuf.Reflect.T.html">T</a></li></ul><h3>Namespaces</h3><ul><li><a href="ProtoBuf.html">ProtoBuf</a></li><li><a href="ProtoBuf.DotProto.html">DotProto</a></li><li><a href="ProtoBuf.Reflect.html">Reflect</a></li><li><a href="ProtoBuf.Util.html">Util</a></li></ul>
2794 Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.3</a> on Fri Jan 27 2017 17:03:55 GMT+0100 (Mitteleuropäische Zeit)
2797 <script> prettyPrint(); </script>
2798 <script src="scripts/linenumber.js"> </script>