5 <title>JSDoc: Class: Element</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: Element</h1>
32 <span class="ancestors"><a href="ProtoBuf.html">ProtoBuf</a><a href="ProtoBuf.Reflect.html">.Reflect</a>.</span>
41 <div class="container-overview">
47 <h4 class="name" id="Element"><span class="type-signature"></span>new Element<span class="signature">(type, resolvedType, isMapKey, syntax, name)</span><span class="type-signature"></span></h4>
53 <div class="description">
54 <p>Constructs a new Element implementation that checks and converts values for a
55 particular field type, as appropriate.</p>
56 <p>An Element represents a single value: either the value of a singular field,
57 or a value contained in one entry of a repeated field or map field. This
58 class does not implement these higher-level concepts; it only encapsulates
59 the low-level typechecking and conversion.</p>
73 <table class="params">
86 <th class="last">Description</th>
95 <td class="name"><code>type</code></td>
101 <span class="param-type">Object</span>
111 <td class="description last"><p>Resolved data type</p></td>
118 <td class="name"><code>resolvedType</code></td>
124 <span class="param-type"><a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a></span>
127 <span class="param-type">null</span>
137 <td class="description last"><p>Resolved type, if relevant
138 (e.g. submessage field).</p></td>
145 <td class="name"><code>isMapKey</code></td>
151 <span class="param-type">boolean</span>
161 <td class="description last"><p>Is this element a Map key? The value will be
162 converted to string form if so.</p></td>
169 <td class="name"><code>syntax</code></td>
175 <span class="param-type">string</span>
185 <td class="description last"><p>Syntax level of defining message type, e.g.,
186 proto2 or proto3.</p></td>
193 <td class="name"><code>name</code></td>
199 <span class="param-type">string</span>
209 <td class="description last"><p>Name of the field containing this element (for error
249 <dt class="tag-source">Source:</dt>
250 <dd class="tag-source"><ul class="dummy"><li>
251 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1720">line 1720</a>
291 <h3 class="subsection-title">Members</h3>
295 <h4 class="name" id="isMapKey"><span class="type-signature"></span>isMapKey<span class="type-signature"> :boolean</span></h4>
300 <div class="description">
301 <p>Element is a map key.</p>
310 <span class="param-type">boolean</span>
347 <dt class="tag-source">Source:</dt>
348 <dd class="tag-source"><ul class="dummy"><li>
349 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1738">line 1738</a>
367 <h4 class="name" id="name"><span class="type-signature"></span>name<span class="type-signature"> :string</span></h4>
372 <div class="description">
373 <p>Name of the field containing this element (for error messages)</p>
382 <span class="param-type">string</span>
419 <dt class="tag-source">Source:</dt>
420 <dd class="tag-source"><ul class="dummy"><li>
421 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1750">line 1750</a>
439 <h4 class="name" id="resolvedType"><span class="type-signature"></span>resolvedType<span class="type-signature"> :<a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a>|null</span></h4>
444 <div class="description">
445 <p>Element type reference to submessage or enum definition, if needed.</p>
454 <span class="param-type"><a href="ProtoBuf.Reflect.T.html">ProtoBuf.Reflect.T</a></span>
457 <span class="param-type">null</span>
494 <dt class="tag-source">Source:</dt>
495 <dd class="tag-source"><ul class="dummy"><li>
496 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1732">line 1732</a>
514 <h4 class="name" id="syntax"><span class="type-signature"></span>syntax<span class="type-signature"> :string</span></h4>
519 <div class="description">
520 <p>Syntax level of defining message type, e.g., proto2 or proto3.</p>
529 <span class="param-type">string</span>
566 <dt class="tag-source">Source:</dt>
567 <dd class="tag-source"><ul class="dummy"><li>
568 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1744">line 1744</a>
586 <h4 class="name" id="type"><span class="type-signature"></span>type<span class="type-signature"> :Object</span></h4>
591 <div class="description">
592 <p>Element type, as a string (e.g., int32).</p>
601 <span class="param-type">Object</span>
638 <dt class="tag-source">Source:</dt>
639 <dd class="tag-source"><ul class="dummy"><li>
640 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1726">line 1726</a>
660 <h3 class="subsection-title">Methods</h3>
667 <h4 class="name" id=".defaultFieldValue"><span class="type-signature">(static) </span>defaultFieldValue<span class="signature">(type)</span><span class="type-signature"> → {*}</span></h4>
673 <div class="description">
674 <p>Returns the default value for this field in proto3.</p>
688 <table class="params">
701 <th class="last">Description</th>
710 <td class="name"><code>type</code></td>
716 <span class="param-type">string</span>
719 <span class="param-type">Object</span>
729 <td class="description last"><p>the field type</p></td>
768 <dt class="tag-source">Source:</dt>
769 <dd class="tag-source"><ul class="dummy"><li>
770 <a href="protobuf.js.html">protobuf.js</a>, <a href="protobuf.js.html#line1780">line 1780</a>
796 <div class="param-desc">
808 <span class="param-type">*</span>
834 <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>
840 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)
843 <script> prettyPrint(); </script>
844 <script src="scripts/linenumber.js"> </script>