http://git-wip-us.apache.org/repos/asf/ignite/blob/c56d16fb/modules/platforms/nodejs/api_spec/MapObjectType.html ---------------------------------------------------------------------- diff --git a/modules/platforms/nodejs/api_spec/MapObjectType.html b/modules/platforms/nodejs/api_spec/MapObjectType.html new file mode 100644 index 0000000..170348c --- /dev/null +++ b/modules/platforms/nodejs/api_spec/MapObjectType.html @@ -0,0 +1,485 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>JSDoc: Class: MapObjectType</title> + + <script src="scripts/prettify/prettify.js"> </script> + <script src="scripts/prettify/lang-css.js"> </script> + <!--[if lt IE 9]> + <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> + <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> +</head> + +<body> + +<div id="main"> + + <h1 class="page-title">Class: MapObjectType</h1> + + + + + + +<section> + +<header> + + <h2><span class="attribs"><span class="type-signature"></span></span>MapObjectType<span class="signature">(mapSubType<span class="signature-attributes">opt</span>, keyType<span class="signature-attributes">opt</span>, valueType<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h2> + + <div class="class-description"><p>Class representing a map type of Ignite object.</p> +<p>It is described by COMPOSITE_TYPE.MAP <a href="ObjectType.html#.COMPOSITE_TYPE">ObjectType.COMPOSITE_TYPE</a> +and one of <a href="MapObjectType.html#.MAP_SUBTYPE">MapObjectType.MAP_SUBTYPE</a>.</p></div> + + +</header> + +<article> + <div class="container-overview"> + + + + + <h2>Constructor</h2> + + + + <h4 class="name" id="MapObjectType"><span class="type-signature"></span>new MapObjectType<span class="signature">(mapSubType<span class="signature-attributes">opt</span>, keyType<span class="signature-attributes">opt</span>, valueType<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4> + + + + + + +<div class="description"> + <p>Public constructor.</p> +<p>Optionally specifies a kind of map and types of keys and values in the map.</p> +<p>If a kind of map is not specified, MAP_SUBTYPE.HASH_MAP is assumed.</p> +<p>If key and/or value type is not specified then during operations the Ignite client +will try to make automatic mapping between JavaScript types and Ignite object types - +according to the mapping table defined in the description of the <a href="ObjectType.html">ObjectType</a> class.</p> +</div> + + + + + + + + + + <h5>Parameters:</h5> + + +<table class="params"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + <th>Attributes</th> + + + + <th>Default</th> + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>mapSubType</code></td> + + + <td class="type"> + + +<span class="param-type"><a href="MapObjectType.html#.MAP_SUBTYPE">MapObjectType.MAP_SUBTYPE</a></span> + + + + </td> + + + <td class="attributes"> + + <optional><br> + + + + + + </td> + + + + <td class="default"> + + MAP_SUBTYPE.HASH_MAP + + </td> + + + <td class="description last"><p>map subtype, one of the + <a href="MapObjectType.html#.MAP_SUBTYPE">MapObjectType.MAP_SUBTYPE</a> constants.</p></td> + </tr> + + + + <tr> + + <td class="name"><code>keyType</code></td> + + + <td class="type"> + + +<span class="param-type"><a href="ObjectType.html#.PRIMITIVE_TYPE">ObjectType.PRIMITIVE_TYPE</a></span> +| + +<span class="param-type"><a href="CompositeType.html">CompositeType</a></span> + + + + </td> + + + <td class="attributes"> + + <optional><br> + + + + + + </td> + + + + <td class="default"> + + null + + </td> + + + <td class="description last"><p>type of the keys in the map:</p> +<ul> +<li>either a type code of primitive (simple) type</li> +<li>or an instance of class representing non-primitive (composite) type</li> +<li>or null (or not specified) that means the type is not specified</li> +</ul></td> + </tr> + + + + <tr> + + <td class="name"><code>valueType</code></td> + + + <td class="type"> + + +<span class="param-type"><a href="ObjectType.html#.PRIMITIVE_TYPE">ObjectType.PRIMITIVE_TYPE</a></span> +| + +<span class="param-type"><a href="CompositeType.html">CompositeType</a></span> + + + + </td> + + + <td class="attributes"> + + <optional><br> + + + + + + </td> + + + + <td class="default"> + + null + + </td> + + + <td class="description last"><p>type of the values in the map:</p> +<ul> +<li>either a type code of primitive (simple) type</li> +<li>or an instance of class representing non-primitive (composite) type</li> +<li>or null (or not specified) that means the type is not specified</li> +</ul></td> + </tr> + + + </tbody> +</table> + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + <dt class="tag-source">Source:</dt> + <dd class="tag-source"><ul class="dummy"><li> + <a href="ObjectType.js.html">ObjectType.js</a>, <a href="ObjectType.js.html#line339">line 339</a> + </li></ul></dd> + + + + + + + +</dl> + + + + + + + + + + + + + + + + + + + + </div> + + + <h3 class="subsection-title">Extends</h3> + + + + + <ul> + <li><a href="CompositeType.html">CompositeType</a></li> + </ul> + + + + + + + + + + + + + + + + <h3 class="subsection-title">Members</h3> + + + +<h4 class="name" id=".MAP_SUBTYPE"><span class="type-signature">(static, readonly) </span>MAP_SUBTYPE<span class="type-signature"></span></h4> + + + + +<div class="description"> + <p>Supported kinds of map.</p> +</div> + + + + + + + + <h5 class="subsection-title">Properties:</h5> + + + +<table class="props"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>HASH_MAP</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>1</p></td> + </tr> + + + + <tr> + + <td class="name"><code>LINKED_HASH_MAP</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>2</p></td> + </tr> + + + </tbody> +</table> + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + <dt class="tag-source">Source:</dt> + <dd class="tag-source"><ul class="dummy"><li> + <a href="ObjectType.js.html">ObjectType.js</a>, <a href="ObjectType.js.html#line318">line 318</a> + </li></ul></dd> + + + + + + + +</dl> + + + + + + + + + + + + + + +</article> + +</section> + + + + +</div> + +<nav> + <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BinaryObject.html">BinaryObject</a></li><li><a href="CacheClient.html">CacheClient</a></li><li><a href="CacheConfiguration.html">CacheConfiguration</a></li><li><a href="CacheEntry.html">CacheEntry</a></li><li><a href="CacheKeyConfiguration.html">CacheKeyConfiguration</a></li><li><a href="CollectionObjectType.html">CollectionObjectType</a></li><li><a href="ComplexObjectType.html">ComplexObjectType</a></li><li><a href="CompositeType.html">CompositeType</a></li><li><a href="Cursor.html">Cursor</a></li><li><a href="EnumItem.html">EnumItem</a></li><li><a href="IgniteClient.html">IgniteClient</a></li><li><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></li><li><a href="IgniteClientError.html">IgniteClientError</a></li><li><a href="IllegalStateError.html">IllegalStateError</a></li><li><a href="LostConnectionError.html">LostConnectionError</a></li><li><a href="MapObjectType.html">MapObjectType</ a></li><li><a href="ObjectArrayType.html">ObjectArrayType</a></li><li><a href="ObjectType.html">ObjectType</a></li><li><a href="OperationError.html">OperationError</a></li><li><a href="Query.html">Query</a></li><li><a href="QueryEntity.html">QueryEntity</a></li><li><a href="QueryField.html">QueryField</a></li><li><a href="QueryIndex.html">QueryIndex</a></li><li><a href="ScanQuery.html">ScanQuery</a></li><li><a href="SqlFieldsCursor.html">SqlFieldsCursor</a></li><li><a href="SqlFieldsQuery.html">SqlFieldsQuery</a></li><li><a href="SqlQuery.html">SqlQuery</a></li><li><a href="Timestamp.html">Timestamp</a></li></ul> +</nav> + +<br class="clear"> + +<footer> + Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Tue May 22 2018 12:08:49 GMT+0300 (Russia TZ 2 Standard Time) +</footer> + +<script> prettyPrint(); </script> +<script src="scripts/linenumber.js"> </script> +</body> +</html> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/c56d16fb/modules/platforms/nodejs/api_spec/ObjectArrayType.html ---------------------------------------------------------------------- diff --git a/modules/platforms/nodejs/api_spec/ObjectArrayType.html b/modules/platforms/nodejs/api_spec/ObjectArrayType.html new file mode 100644 index 0000000..5d352be --- /dev/null +++ b/modules/platforms/nodejs/api_spec/ObjectArrayType.html @@ -0,0 +1,265 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>JSDoc: Class: ObjectArrayType</title> + + <script src="scripts/prettify/prettify.js"> </script> + <script src="scripts/prettify/lang-css.js"> </script> + <!--[if lt IE 9]> + <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> + <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> +</head> + +<body> + +<div id="main"> + + <h1 class="page-title">Class: ObjectArrayType</h1> + + + + + + +<section> + +<header> + + <h2><span class="attribs"><span class="type-signature"></span></span>ObjectArrayType<span class="signature">(elementType<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h2> + + <div class="class-description"><p>Class representing an array type of Ignite objects.</p> +<p>It is described by COMPOSITE_TYPE.OBJECT_ARRAY <a href="ObjectType.html#.COMPOSITE_TYPE">ObjectType.COMPOSITE_TYPE</a>.</p></div> + + +</header> + +<article> + <div class="container-overview"> + + + + + <h2>Constructor</h2> + + + + <h4 class="name" id="ObjectArrayType"><span class="type-signature"></span>new ObjectArrayType<span class="signature">(elementType<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4> + + + + + + +<div class="description"> + <p>Public constructor.</p> +<p>Optionally specifies a type of elements in the array.</p> +<p>If the type of elements is not specified then during operations the Ignite client +will try to make automatic mapping between JavaScript types and Ignite object types - +according to the mapping table defined in the description of the <a href="ObjectType.html">ObjectType</a> class.</p> +</div> + + + + + + + + + + <h5>Parameters:</h5> + + +<table class="params"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + <th>Attributes</th> + + + + <th>Default</th> + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>elementType</code></td> + + + <td class="type"> + + +<span class="param-type"><a href="ObjectType.html#.PRIMITIVE_TYPE">ObjectType.PRIMITIVE_TYPE</a></span> +| + +<span class="param-type"><a href="CompositeType.html">CompositeType</a></span> + + + + </td> + + + <td class="attributes"> + + <optional><br> + + + + + + </td> + + + + <td class="default"> + + null + + </td> + + + <td class="description last"><p>type of the array element:</p> +<ul> +<li>either a type code of primitive (simple) type</li> +<li>or an instance of class representing non-primitive (composite) type</li> +<li>or null (or not specified) that means the type is not specified</li> +</ul></td> + </tr> + + + </tbody> +</table> + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + <dt class="tag-source">Source:</dt> + <dd class="tag-source"><ul class="dummy"><li> + <a href="ObjectType.js.html">ObjectType.js</a>, <a href="ObjectType.js.html#line475">line 475</a> + </li></ul></dd> + + + + + + + +</dl> + + + + + + + + + + + + + + + + + + + + </div> + + + <h3 class="subsection-title">Extends</h3> + + + + + <ul> + <li><a href="CompositeType.html">CompositeType</a></li> + </ul> + + + + + + + + + + + + + + + + + + + + + +</article> + +</section> + + + + +</div> + +<nav> + <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BinaryObject.html">BinaryObject</a></li><li><a href="CacheClient.html">CacheClient</a></li><li><a href="CacheConfiguration.html">CacheConfiguration</a></li><li><a href="CacheEntry.html">CacheEntry</a></li><li><a href="CacheKeyConfiguration.html">CacheKeyConfiguration</a></li><li><a href="CollectionObjectType.html">CollectionObjectType</a></li><li><a href="ComplexObjectType.html">ComplexObjectType</a></li><li><a href="CompositeType.html">CompositeType</a></li><li><a href="Cursor.html">Cursor</a></li><li><a href="EnumItem.html">EnumItem</a></li><li><a href="IgniteClient.html">IgniteClient</a></li><li><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></li><li><a href="IgniteClientError.html">IgniteClientError</a></li><li><a href="IllegalStateError.html">IllegalStateError</a></li><li><a href="LostConnectionError.html">LostConnectionError</a></li><li><a href="MapObjectType.html">MapObjectType</ a></li><li><a href="ObjectArrayType.html">ObjectArrayType</a></li><li><a href="ObjectType.html">ObjectType</a></li><li><a href="OperationError.html">OperationError</a></li><li><a href="Query.html">Query</a></li><li><a href="QueryEntity.html">QueryEntity</a></li><li><a href="QueryField.html">QueryField</a></li><li><a href="QueryIndex.html">QueryIndex</a></li><li><a href="ScanQuery.html">ScanQuery</a></li><li><a href="SqlFieldsCursor.html">SqlFieldsCursor</a></li><li><a href="SqlFieldsQuery.html">SqlFieldsQuery</a></li><li><a href="SqlQuery.html">SqlQuery</a></li><li><a href="Timestamp.html">Timestamp</a></li></ul> +</nav> + +<br class="clear"> + +<footer> + Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Tue May 22 2018 12:08:49 GMT+0300 (Russia TZ 2 Standard Time) +</footer> + +<script> prettyPrint(); </script> +<script src="scripts/linenumber.js"> </script> +</body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/c56d16fb/modules/platforms/nodejs/api_spec/ObjectType.html ---------------------------------------------------------------------- diff --git a/modules/platforms/nodejs/api_spec/ObjectType.html b/modules/platforms/nodejs/api_spec/ObjectType.html new file mode 100644 index 0000000..a1824c7 --- /dev/null +++ b/modules/platforms/nodejs/api_spec/ObjectType.html @@ -0,0 +1,1126 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>JSDoc: Class: ObjectType</title> + + <script src="scripts/prettify/prettify.js"> </script> + <script src="scripts/prettify/lang-css.js"> </script> + <!--[if lt IE 9]> + <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> + <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> +</head> + +<body> + +<div id="main"> + + <h1 class="page-title">Class: ObjectType</h1> + + + + + + +<section> + +<header> + + <h2><span class="attribs"><span class="type-signature"></span></span>ObjectType</h2> + + <div class="class-description"><p>Base class representing a type of Ignite object.</p> +<p>The class has no public constructor. Only subclasses may be instantiated.</p> +<p>There are two groups of Ignite object types:</p> +<ul> +<li><p>Primitive (simple) types. To fully describe such a type it is enough to specify +Ignite type code <a href="ObjectType.html#.PRIMITIVE_TYPE">ObjectType.PRIMITIVE_TYPE</a> only.</p> +</li> +<li><p>Non-primitive (composite) types. To fully describe such a type +Ignite type code <a href="ObjectType.html#.COMPOSITE_TYPE">ObjectType.COMPOSITE_TYPE</a> with additional information should be specified. +Eg. a kind of map or a kind of collection.</p> +</li> +</ul> +<p>This class helps the Ignite client to make a mapping between JavaScript types +and types used by Ignite.</p> +<p>In many methods the Ignite client does not require to directly specify a type of Ignite object. +In this case the Ignite client tries to make automatic mapping between JavaScript types +and Ignite object types according to the following mapping tables:</p> +<hr> +<p>DEFAULT MAPPING FROM JavaScript type TO Ignite type code.</p> +<p>This mapping is used when an application does not explicitly specify an Ignite type +for a field and is writing data to that field.</p> +<pre> +| JavaScript type | Ignite type code | +| ------------------------- | ----------------------| +| number | DOUBLE | +| boolean | BOOLEAN | +| string | STRING | +| Date | DATE | +| Timestamp* | TIMESTAMP | +| EnumItem* | ENUM | +| Decimal** | DECIMAL | +| BinaryObject* | COMPLEX_OBJECT | +| Array of number | DOUBLE_ARRAY | +| Array of boolean | BOOLEAN_ARRAY | +| Array of string | STRING_ARRAY | +| Array of Date | DATE_ARRAY | +| Array of Timestamp* | TIMESTAMP_ARRAY | +| Array of EnumItem* | ENUM_ARRAY | +| Array of Decimal** | DECIMAL_ARRAY | +| Array of BinaryObject* | OBJECT_ARRAY | +| Array of any other Object | OBJECT_ARRAY | +| Set | COLLECTION (HASH_SET) | +| Map | MAP (HASH_MAP) | +| any other Object | COMPLEX_OBJECT | +</pre> + +<p>Type of an array content is determined by the type of the first element of the array. +Empty array has no default mapping.</p> +<p>All other JavaScript types have no default mapping.</p> +<hr> +<p>DEFAULT MAPPING FROM Ignite type code TO JavaScript type.</p> +<p>This mapping is used when an application does not explicitly specify an Ignite type +for a field and is reading data from that field.</p> +<pre> +| Ignite type code | JavaScript type | +| ---------------------------- | --------------------------------------| +| BYTE | number | +| SHORT | number | +| INTEGER | number | +| LONG | number | +| FLOAT | number | +| DOUBLE | number | +| DECIMAL | Decimal** | +| BOOLEAN | boolean | +| STRING | string | +| CHAR | string (one character) | +| UUID | Array of number (16 numbers) | +| DATE | Date | +| TIME | Date | +| TIMESTAMP | Timestamp* | +| ENUM | EnumItem* | +| COMPLEX_OBJECT | BinaryObject* | +| BYTE_ARRAY | Array of number | +| SHORT_ARRAY | Array of number | +| INTEGER_ARRAY | Array of number | +| LONG_ARRAY | Array of number | +| FLOAT_ARRAY | Array of number | +| DOUBLE_ARRAY | Array of number | +| DECIMAL_ARRAY | Array of Decimal** | +| BOOLEAN_ARRAY | Array of boolean | +| STRING_ARRAY | Array of string | +| CHAR_ARRAY | Array of string (one character) | +| UUID_ARRAY | Array of Array of number (16 numbers) | +| DATE_ARRAY | Array of Date | +| TIME_ARRAY | Array of Date | +| TIMESTAMP_ARRAY | Array of Timestamp* | +| ENUM_ARRAY | Array of EnumItem* | +| OBJECT_ARRAY | Array | +| COLLECTION (USER_COL) | Array | +| COLLECTION (ARR_LIST) | Array | +| COLLECTION (LINKED_LIST) | Array | +| COLLECTION (SINGLETON_LIST) | Array | +| COLLECTION (HASH_SET) | Set | +| COLLECTION (LINKED_HASH_SET) | Set | +| COLLECTION (USER_SET) | Set | +| MAP (HASH_MAP) | Map | +| MAP (LINKED_HASH_MAP) | Map | +| NULL | null | +</pre> + +<hr> +<p>RETURNED JavaScript types WHEN READING DATA OF THE SPECIFIED Ignite type code.</p> +<p>When an application explicitly specifies an Ignite type for a field +and is reading data from that field - the following JavaScript types +are returned for every concrete Ignite type code -</p> +<p>SEE THE PREVIOUS TABLE with the following additional comments:</p> +<ul> +<li><p>for COMPLEX_OBJECT the Ignite Client returns a JavaScript Object +which is defined by the specified <a href="ComplexObjectType.html">ComplexObjectType</a>.</p> +</li> +<li><p>the returned Map for MAP is defined by the specified <a href="MapObjectType.html">MapObjectType</a>.</p> +</li> +<li><p>the returned Set or Array for COLLECTION is defined by the specified <a href="CollectionObjectType.html">CollectionObjectType</a>.</p> +</li> +<li><p>the returned Array for OBJECT_ARRAY is defined by the specified <a href="ObjectArrayType.html">ObjectArrayType</a>.</p> +</li> +<li><p>NULL cannot be specified as a type of a field but JavaScript null may be returned +as a value of a field.</p> +</li> +</ul> +<hr> +<p>ALLOWED JavaScript types WHEN WRITING DATA OF THE SPECIFIED Ignite type code.</p> +<p>When an application explicitly specifies an Ignite type for a field +and is writing data to that field - the following JavaScript types +are allowed for every concrete Ignite type code -</p> +<p>SEE THE PREVIOUS TABLE with the following additional comments:</p> +<ul> +<li><p>for COMPLEX_OBJECT the Ignite Client allows a JavaScript Object +which is defined by the specified <a href="ComplexObjectType.html">ComplexObjectType</a>.</p> +</li> +<li><p>the allowed Map for MAP is defined by the specified <a href="MapObjectType.html">MapObjectType</a>.</p> +</li> +<li><p>the allowed Set or Array for COLLECTION is defined by the specified <a href="CollectionObjectType.html">CollectionObjectType</a>.</p> +</li> +<li><p>the allowed Array for OBJECT_ARRAY is defined by the specified <a href="ObjectArrayType.html">ObjectArrayType</a>.</p> +</li> +<li><p>NULL cannot be specified as a type of a field but JavaScript null is allowed +as value of a field (but not as a key/value in a cache) or as a value of Array/Set/Map element +for all Ignite types, except BYTE, SHORT, INTEGER, LONG, FLOAT, DOUBLE, CHAR, BOOLEAN.</p> +</li> +<li><p>for all *_ARRAY Ignite types an empty JavaScript Array is allowed.</p> +</li> +</ul> +<hr> +<p>COMMENTS TO ALL TABLES</p> +<p>JavaScript type - is a JavaScript primitive or a JavaScript Object +(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures</a>)</p> +<p>(*) Timestamp, EnumItem and BinaryObject - are JavaScript Objects introduced by the Ignite client.</p> +<p>(**) Decimal - is an external JavaScript Object exported into the Ignite client +(<a href="https://github.com/MikeMcl/decimal.js">https://github.com/MikeMcl/decimal.js</a>)</p> +<p>Ignite type code - is the type code of an Ignite primitive type (<a href="ObjectType.html#.PRIMITIVE_TYPE">ObjectType.PRIMITIVE_TYPE</a>) +or an Ignite composite type (<a href="ObjectType.html#.COMPOSITE_TYPE">ObjectType.COMPOSITE_TYPE</a>).</p> +<hr></div> + + +</header> + +<article> + <div class="container-overview"> + + + + + + + + + + + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + <dt class="tag-source">Source:</dt> + <dd class="tag-source"><ul class="dummy"><li> + <a href="ObjectType.js.html">ObjectType.js</a>, <a href="ObjectType.js.html#line291">line 291</a> + </li></ul></dd> + + + + + + + +</dl> + + + + + + + + + + + + + + + + + + + + </div> + + + + + + + + + + + + + + + <h3 class="subsection-title">Members</h3> + + + +<h4 class="name" id=".COMPOSITE_TYPE"><span class="type-signature">(static, readonly) </span>COMPOSITE_TYPE<span class="type-signature"></span></h4> + + + + +<div class="description"> + <p>Supported Ignite type codes for non-primitive (composite) types.</p> +</div> + + + + + + + + <h5 class="subsection-title">Properties:</h5> + + + +<table class="props"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>OBJECT_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>23</p></td> + </tr> + + + + <tr> + + <td class="name"><code>COLLECTION</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>24</p></td> + </tr> + + + + <tr> + + <td class="name"><code>MAP</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>25</p></td> + </tr> + + + + <tr> + + <td class="name"><code>NULL</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>101</p></td> + </tr> + + + + <tr> + + <td class="name"><code>COMPLEX_OBJECT</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>103</p></td> + </tr> + + + </tbody> +</table> + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + <dt class="tag-source">Source:</dt> + <dd class="tag-source"><ul class="dummy"><li> + <a href="ObjectType.js.html">ObjectType.js</a>, <a href="ObjectType.js.html#line93">line 93</a> + </li></ul></dd> + + + + + + + +</dl> + + + + + + + + +<h4 class="name" id=".PRIMITIVE_TYPE"><span class="type-signature">(static, readonly) </span>PRIMITIVE_TYPE<span class="type-signature"></span></h4> + + + + +<div class="description"> + <p>Supported Ignite type codes for primitive (simple) types.</p> +</div> + + + + + + + + <h5 class="subsection-title">Properties:</h5> + + + +<table class="props"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>BYTE</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>1</p></td> + </tr> + + + + <tr> + + <td class="name"><code>SHORT</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>2</p></td> + </tr> + + + + <tr> + + <td class="name"><code>INTEGER</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>3</p></td> + </tr> + + + + <tr> + + <td class="name"><code>LONG</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>4</p></td> + </tr> + + + + <tr> + + <td class="name"><code>FLOAT</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>5</p></td> + </tr> + + + + <tr> + + <td class="name"><code>DOUBLE</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>6</p></td> + </tr> + + + + <tr> + + <td class="name"><code>CHAR</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>7</p></td> + </tr> + + + + <tr> + + <td class="name"><code>BOOLEAN</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>8</p></td> + </tr> + + + + <tr> + + <td class="name"><code>STRING</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>9</p></td> + </tr> + + + + <tr> + + <td class="name"><code>UUID</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>10</p></td> + </tr> + + + + <tr> + + <td class="name"><code>DATE</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>11</p></td> + </tr> + + + + <tr> + + <td class="name"><code>BYTE_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>12</p></td> + </tr> + + + + <tr> + + <td class="name"><code>SHORT_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>13</p></td> + </tr> + + + + <tr> + + <td class="name"><code>INTEGER_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>14</p></td> + </tr> + + + + <tr> + + <td class="name"><code>LONG_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>15</p></td> + </tr> + + + + <tr> + + <td class="name"><code>FLOAT_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>16</p></td> + </tr> + + + + <tr> + + <td class="name"><code>DOUBLE_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>17</p></td> + </tr> + + + + <tr> + + <td class="name"><code>CHAR_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>18</p></td> + </tr> + + + + <tr> + + <td class="name"><code>BOOLEAN_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>19</p></td> + </tr> + + + + <tr> + + <td class="name"><code>STRING_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>20</p></td> + </tr> + + + + <tr> + + <td class="name"><code>UUID_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>21</p></td> + </tr> + + + + <tr> + + <td class="name"><code>DATE_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>22</p></td> + </tr> + + + + <tr> + + <td class="name"><code>ENUM</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>28</p></td> + </tr> + + + + <tr> + + <td class="name"><code>ENUM_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>29</p></td> + </tr> + + + + <tr> + + <td class="name"><code>DECIMAL</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>30</p></td> + </tr> + + + + <tr> + + <td class="name"><code>DECIMAL_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>31</p></td> + </tr> + + + + <tr> + + <td class="name"><code>TIMESTAMP</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>33</p></td> + </tr> + + + + <tr> + + <td class="name"><code>TIMESTAMP_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>34</p></td> + </tr> + + + + <tr> + + <td class="name"><code>TIME</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>36</p></td> + </tr> + + + + <tr> + + <td class="name"><code>TIME_ARRAY</code></td> + + + <td class="type"> + + </td> + + + + + + <td class="description last"><p>37</p></td> + </tr> + + + </tbody> +</table> + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + <dt class="tag-source">Source:</dt> + <dd class="tag-source"><ul class="dummy"><li> + <a href="ObjectType.js.html">ObjectType.js</a>, <a href="ObjectType.js.html#line24">line 24</a> + </li></ul></dd> + + + + + + + +</dl> + + + + + + + + + + + + + + +</article> + +</section> + + + + +</div> + +<nav> + <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BinaryObject.html">BinaryObject</a></li><li><a href="CacheClient.html">CacheClient</a></li><li><a href="CacheConfiguration.html">CacheConfiguration</a></li><li><a href="CacheEntry.html">CacheEntry</a></li><li><a href="CacheKeyConfiguration.html">CacheKeyConfiguration</a></li><li><a href="CollectionObjectType.html">CollectionObjectType</a></li><li><a href="ComplexObjectType.html">ComplexObjectType</a></li><li><a href="CompositeType.html">CompositeType</a></li><li><a href="Cursor.html">Cursor</a></li><li><a href="EnumItem.html">EnumItem</a></li><li><a href="IgniteClient.html">IgniteClient</a></li><li><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></li><li><a href="IgniteClientError.html">IgniteClientError</a></li><li><a href="IllegalStateError.html">IllegalStateError</a></li><li><a href="LostConnectionError.html">LostConnectionError</a></li><li><a href="MapObjectType.html">MapObjectType</ a></li><li><a href="ObjectArrayType.html">ObjectArrayType</a></li><li><a href="ObjectType.html">ObjectType</a></li><li><a href="OperationError.html">OperationError</a></li><li><a href="Query.html">Query</a></li><li><a href="QueryEntity.html">QueryEntity</a></li><li><a href="QueryField.html">QueryField</a></li><li><a href="QueryIndex.html">QueryIndex</a></li><li><a href="ScanQuery.html">ScanQuery</a></li><li><a href="SqlFieldsCursor.html">SqlFieldsCursor</a></li><li><a href="SqlFieldsQuery.html">SqlFieldsQuery</a></li><li><a href="SqlQuery.html">SqlQuery</a></li><li><a href="Timestamp.html">Timestamp</a></li></ul> +</nav> + +<br class="clear"> + +<footer> + Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Tue May 22 2018 12:08:49 GMT+0300 (Russia TZ 2 Standard Time) +</footer> + +<script> prettyPrint(); </script> +<script src="scripts/linenumber.js"> </script> +</body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/c56d16fb/modules/platforms/nodejs/api_spec/ObjectType.js.html ---------------------------------------------------------------------- diff --git a/modules/platforms/nodejs/api_spec/ObjectType.js.html b/modules/platforms/nodejs/api_spec/ObjectType.js.html new file mode 100644 index 0000000..1ddcdf8 --- /dev/null +++ b/modules/platforms/nodejs/api_spec/ObjectType.js.html @@ -0,0 +1,651 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>JSDoc: Source: ObjectType.js</title> + + <script src="scripts/prettify/prettify.js"> </script> + <script src="scripts/prettify/lang-css.js"> </script> + <!--[if lt IE 9]> + <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> + <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> +</head> + +<body> + +<div id="main"> + + <h1 class="page-title">Source: ObjectType.js</h1> + + + + + + + <section> + <article> + <pre class="prettyprint source linenums"><code>/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +'use strict'; + +const Util = require('util'); +const Errors = require('./Errors'); +const ArgumentChecker = require('./internal/ArgumentChecker'); + +/** + * Supported Ignite type codes for primitive (simple) types. + * @typedef ObjectType.PRIMITIVE_TYPE + * @enum + * @readonly + * @property BYTE 1 + * @property SHORT 2 + * @property INTEGER 3 + * @property LONG 4 + * @property FLOAT 5 + * @property DOUBLE 6 + * @property CHAR 7 + * @property BOOLEAN 8 + * @property STRING 9 + * @property UUID 10 + * @property DATE 11 + * @property BYTE_ARRAY 12 + * @property SHORT_ARRAY 13 + * @property INTEGER_ARRAY 14 + * @property LONG_ARRAY 15 + * @property FLOAT_ARRAY 16 + * @property DOUBLE_ARRAY 17 + * @property CHAR_ARRAY 18 + * @property BOOLEAN_ARRAY 19 + * @property STRING_ARRAY 20 + * @property UUID_ARRAY 21 + * @property DATE_ARRAY 22 + * @property ENUM 28 + * @property ENUM_ARRAY 29 + * @property DECIMAL 30 + * @property DECIMAL_ARRAY 31 + * @property TIMESTAMP 33 + * @property TIMESTAMP_ARRAY 34 + * @property TIME 36 + * @property TIME_ARRAY 37 + */ +const PRIMITIVE_TYPE = Object.freeze({ + BYTE : 1, + SHORT : 2, + INTEGER : 3, + LONG : 4, + FLOAT : 5, + DOUBLE : 6, + CHAR : 7, + BOOLEAN : 8, + STRING : 9, + UUID : 10, + DATE : 11, + BYTE_ARRAY : 12, + SHORT_ARRAY : 13, + INTEGER_ARRAY : 14, + LONG_ARRAY : 15, + FLOAT_ARRAY : 16, + DOUBLE_ARRAY : 17, + CHAR_ARRAY : 18, + BOOLEAN_ARRAY : 19, + STRING_ARRAY : 20, + UUID_ARRAY : 21, + DATE_ARRAY : 22, + ENUM : 28, + ENUM_ARRAY : 29, + DECIMAL : 30, + DECIMAL_ARRAY : 31, + TIMESTAMP : 33, + TIMESTAMP_ARRAY : 34, + TIME : 36, + TIME_ARRAY : 37 +}); + +/** + * Supported Ignite type codes for non-primitive (composite) types. + * @typedef ObjectType.COMPOSITE_TYPE + * @enum + * @readonly + * @property OBJECT_ARRAY 23 + * @property COLLECTION 24 + * @property MAP 25 + * @property NULL 101 + * @property COMPLEX_OBJECT 103 + */ +const COMPOSITE_TYPE = Object.freeze({ + OBJECT_ARRAY : 23, + COLLECTION : 24, + MAP : 25, + NULL : 101, + COMPLEX_OBJECT : 103 +}); + +/** + * Base class representing a type of Ignite object. + * + * The class has no public constructor. Only subclasses may be instantiated. + * + * There are two groups of Ignite object types: + * + * - Primitive (simple) types. To fully describe such a type it is enough to specify + * Ignite type code {@link ObjectType.PRIMITIVE_TYPE} only. + * + * - Non-primitive (composite) types. To fully describe such a type + * Ignite type code {@link ObjectType.COMPOSITE_TYPE} with additional information should be specified. + * Eg. a kind of map or a kind of collection. + * + * This class helps the Ignite client to make a mapping between JavaScript types + * and types used by Ignite. + * + * In many methods the Ignite client does not require to directly specify a type of Ignite object. + * In this case the Ignite client tries to make automatic mapping between JavaScript types + * and Ignite object types according to the following mapping tables: + * + * ---------------------------------------------------------------------------- + * + * DEFAULT MAPPING FROM JavaScript type TO Ignite type code. + * + * This mapping is used when an application does not explicitly specify an Ignite type + * for a field and is writing data to that field. + * + * <pre> + * | JavaScript type | Ignite type code | + * | ------------------------- | ----------------------| + * | number | DOUBLE | + * | boolean | BOOLEAN | + * | string | STRING | + * | Date | DATE | + * | Timestamp* | TIMESTAMP | + * | EnumItem* | ENUM | + * | Decimal** | DECIMAL | + * | BinaryObject* | COMPLEX_OBJECT | + * | Array of number | DOUBLE_ARRAY | + * | Array of boolean | BOOLEAN_ARRAY | + * | Array of string | STRING_ARRAY | + * | Array of Date | DATE_ARRAY | + * | Array of Timestamp* | TIMESTAMP_ARRAY | + * | Array of EnumItem* | ENUM_ARRAY | + * | Array of Decimal** | DECIMAL_ARRAY | + * | Array of BinaryObject* | OBJECT_ARRAY | + * | Array of any other Object | OBJECT_ARRAY | + * | Set | COLLECTION (HASH_SET) | + * | Map | MAP (HASH_MAP) | + * | any other Object | COMPLEX_OBJECT | + * </pre> + * + * Type of an array content is determined by the type of the first element of the array. + * Empty array has no default mapping. + * + * All other JavaScript types have no default mapping. + * + * ---------------------------------------------------------------------------- + * + * DEFAULT MAPPING FROM Ignite type code TO JavaScript type. + * + * This mapping is used when an application does not explicitly specify an Ignite type + * for a field and is reading data from that field. + * + * <pre> + * | Ignite type code | JavaScript type | + * | ---------------------------- | --------------------------------------| + * | BYTE | number | + * | SHORT | number | + * | INTEGER | number | + * | LONG | number | + * | FLOAT | number | + * | DOUBLE | number | + * | DECIMAL | Decimal** | + * | BOOLEAN | boolean | + * | STRING | string | + * | CHAR | string (one character) | + * | UUID | Array of number (16 numbers) | + * | DATE | Date | + * | TIME | Date | + * | TIMESTAMP | Timestamp* | + * | ENUM | EnumItem* | + * | COMPLEX_OBJECT | BinaryObject* | + * | BYTE_ARRAY | Array of number | + * | SHORT_ARRAY | Array of number | + * | INTEGER_ARRAY | Array of number | + * | LONG_ARRAY | Array of number | + * | FLOAT_ARRAY | Array of number | + * | DOUBLE_ARRAY | Array of number | + * | DECIMAL_ARRAY | Array of Decimal** | + * | BOOLEAN_ARRAY | Array of boolean | + * | STRING_ARRAY | Array of string | + * | CHAR_ARRAY | Array of string (one character) | + * | UUID_ARRAY | Array of Array of number (16 numbers) | + * | DATE_ARRAY | Array of Date | + * | TIME_ARRAY | Array of Date | + * | TIMESTAMP_ARRAY | Array of Timestamp* | + * | ENUM_ARRAY | Array of EnumItem* | + * | OBJECT_ARRAY | Array | + * | COLLECTION (USER_COL) | Array | + * | COLLECTION (ARR_LIST) | Array | + * | COLLECTION (LINKED_LIST) | Array | + * | COLLECTION (SINGLETON_LIST) | Array | + * | COLLECTION (HASH_SET) | Set | + * | COLLECTION (LINKED_HASH_SET) | Set | + * | COLLECTION (USER_SET) | Set | + * | MAP (HASH_MAP) | Map | + * | MAP (LINKED_HASH_MAP) | Map | + * | NULL | null | + * </pre> + * + * ---------------------------------------------------------------------------- + * + * RETURNED JavaScript types WHEN READING DATA OF THE SPECIFIED Ignite type code. + * + * When an application explicitly specifies an Ignite type for a field + * and is reading data from that field - the following JavaScript types + * are returned for every concrete Ignite type code - + * + * SEE THE PREVIOUS TABLE with the following additional comments: + * + * - for COMPLEX_OBJECT the Ignite Client returns a JavaScript Object + * which is defined by the specified {@link ComplexObjectType}. + * + * - the returned Map for MAP is defined by the specified {@link MapObjectType}. + * + * - the returned Set or Array for COLLECTION is defined by the specified {@link CollectionObjectType}. + * + * - the returned Array for OBJECT_ARRAY is defined by the specified {@link ObjectArrayType}. + * + * - NULL cannot be specified as a type of a field but JavaScript null may be returned + * as a value of a field. + * + * ---------------------------------------------------------------------------- + * + * ALLOWED JavaScript types WHEN WRITING DATA OF THE SPECIFIED Ignite type code. + * + * When an application explicitly specifies an Ignite type for a field + * and is writing data to that field - the following JavaScript types + * are allowed for every concrete Ignite type code - + * + * SEE THE PREVIOUS TABLE with the following additional comments: + * + * - for COMPLEX_OBJECT the Ignite Client allows a JavaScript Object + * which is defined by the specified {@link ComplexObjectType}. + * + * - the allowed Map for MAP is defined by the specified {@link MapObjectType}. + * + * - the allowed Set or Array for COLLECTION is defined by the specified {@link CollectionObjectType}. + * + * - the allowed Array for OBJECT_ARRAY is defined by the specified {@link ObjectArrayType}. + * + * - NULL cannot be specified as a type of a field but JavaScript null is allowed + * as value of a field (but not as a key/value in a cache) or as a value of Array/Set/Map element + * for all Ignite types, except BYTE, SHORT, INTEGER, LONG, FLOAT, DOUBLE, CHAR, BOOLEAN. + * + * - for all *_ARRAY Ignite types an empty JavaScript Array is allowed. + * + * ---------------------------------------------------------------------------- + * + * COMMENTS TO ALL TABLES + * + * JavaScript type - is a JavaScript primitive or a JavaScript Object + * ({@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures}) + * + * (*) Timestamp, EnumItem and BinaryObject - are JavaScript Objects introduced by the Ignite client. + * + * (**) Decimal - is an external JavaScript Object exported into the Ignite client + * ({@link https://github.com/MikeMcl/decimal.js}) + * + * Ignite type code - is the type code of an Ignite primitive type ({@link ObjectType.PRIMITIVE_TYPE}) + * or an Ignite composite type ({@link ObjectType.COMPOSITE_TYPE}). + * + * ---------------------------------------------------------------------------- + * + * @hideconstructor + */ + +class ObjectType { + static get PRIMITIVE_TYPE() { + return PRIMITIVE_TYPE; + } + + static get COMPOSITE_TYPE() { + return COMPOSITE_TYPE; + } + + /** Private methods */ + + constructor(typeCode) { + this._typeCode = typeCode; + } +} + +/** + * Base class representing a non-primitive (composite) type of Ignite object. + * + * The class has no public constructor. Only subclasses may be instantiated. + * + * @hideconstructor + * @extends ObjectType + */ +class CompositeType extends ObjectType { +} + +/** + * Supported kinds of map. + * @typedef MapObjectType.MAP_SUBTYPE + * @enum + * @readonly + * @property HASH_MAP 1 + * @property LINKED_HASH_MAP 2 + */ +const MAP_SUBTYPE = Object.freeze({ + HASH_MAP : 1, + LINKED_HASH_MAP : 2 +}); + +/** + * Class representing a map type of Ignite object. + * + * It is described by COMPOSITE_TYPE.MAP {@link ObjectType.COMPOSITE_TYPE} + * and one of {@link MapObjectType.MAP_SUBTYPE}. + * + * @extends CompositeType + */ +class MapObjectType extends CompositeType { + static get MAP_SUBTYPE() { + return MAP_SUBTYPE; + } + + /** + * Public constructor. + * + * Optionally specifies a kind of map and types of keys and values in the map. + * + * If a kind of map is not specified, MAP_SUBTYPE.HASH_MAP is assumed. + * + * If key and/or value type is not specified then during operations the Ignite client + * will try to make automatic mapping between JavaScript types and Ignite object types - + * according to the mapping table defined in the description of the {@link ObjectType} class. + * + * @param {MapObjectType.MAP_SUBTYPE} [mapSubType=MAP_SUBTYPE.HASH_MAP] - map subtype, one of the + * {@link MapObjectType.MAP_SUBTYPE} constants. + * @param {ObjectType.PRIMITIVE_TYPE | CompositeType} [keyType=null] - type of the keys in the map: + * - either a type code of primitive (simple) type + * - or an instance of class representing non-primitive (composite) type + * - or null (or not specified) that means the type is not specified + * @param {ObjectType.PRIMITIVE_TYPE | CompositeType} [valueType=null] - type of the values in the map: + * - either a type code of primitive (simple) type + * - or an instance of class representing non-primitive (composite) type + * - or null (or not specified) that means the type is not specified + * + * @return {MapObjectType} - new MapObjectType instance + * + * @throws {IgniteClientError} if error. + */ + constructor(mapSubType = MapObjectType.MAP_SUBTYPE.HASH_MAP, keyType = null, valueType = null) { + super(COMPOSITE_TYPE.MAP); + const BinaryUtils = require('./internal/BinaryUtils'); + ArgumentChecker.hasValueFrom(mapSubType, 'mapSubType', false, MapObjectType.MAP_SUBTYPE); + this._subType = mapSubType; + BinaryUtils.checkObjectType(keyType, 'keyType'); + BinaryUtils.checkObjectType(valueType, 'valueType'); + this._keyType = keyType; + this._valueType = valueType; + } +} + +/** + * Supported kinds of collections. + * @typedef CollectionObjectType.COLLECTION_SUBTYPE + * @enum + * @readonly + * @property USER_SET -1 + * @property USER_COL 0 + * @property ARRAY_LIST 1 + * @property LINKED_LIST 2 + * @property HASH_SET 3 + * @property LINKED_HASH_SET 4 + * @property SINGLETON_LIST 5 + */ +const COLLECTION_SUBTYPE = Object.freeze({ + USER_SET : -1, + USER_COL : 0, + ARRAY_LIST : 1, + LINKED_LIST : 2, + HASH_SET : 3, + LINKED_HASH_SET : 4, + SINGLETON_LIST : 5 +}); + +/** + * Class representing a collection type of Ignite object. + * + * It is described by COMPOSITE_TYPE.COLLECTION {@link ObjectType.COMPOSITE_TYPE} + * and one of {@link CollectionObjectType.COLLECTION_SUBTYPE}. + * + * @extends CompositeType + */ +class CollectionObjectType extends CompositeType { + static get COLLECTION_SUBTYPE() { + return COLLECTION_SUBTYPE; + } + + /** + * Public constructor. + * + * Specifies a kind of collection + * and optionally specifies a type of elements in the collection. + * + * If the type of elements is not specified then during operations the Ignite client + * will try to make automatic mapping between JavaScript types and Ignite object types - + * according to the mapping table defined in the description of the {@link ObjectType} class. + * + * @param {CollectionObjectType.COLLECTION_SUBTYPE} collectionSubType - collection subtype, one of the + * {@link CollectionObjectType.COLLECTION_SUBTYPE} constants. + * @param {ObjectType.PRIMITIVE_TYPE | CompositeType} [elementType=null] - type of elements in the collection: + * - either a type code of primitive (simple) type + * - or an instance of class representing non-primitive (composite) type + * - or null (or not specified) that means the type is not specified + * + * @return {CollectionObjectType} - new CollectionObjectType instance + * + * @throws {IgniteClientError} if error. + */ + constructor(collectionSubType, elementType = null) { + super(COMPOSITE_TYPE.COLLECTION); + const BinaryUtils = require('./internal/BinaryUtils'); + ArgumentChecker.hasValueFrom( + collectionSubType, 'collectionSubType', false, CollectionObjectType.COLLECTION_SUBTYPE); + this._subType = collectionSubType; + BinaryUtils.checkObjectType(elementType, 'elementType'); + this._elementType = elementType; + } + + /** Private methods */ + + /** + * @ignore + */ + static _isSet(subType) { + return subType === CollectionObjectType.COLLECTION_SUBTYPE.USER_SET || + subType === CollectionObjectType.COLLECTION_SUBTYPE.HASH_SET || + subType === CollectionObjectType.COLLECTION_SUBTYPE.LINKED_HASH_SET; + } + + /** + * @ignore + */ + _isSet() { + return CollectionObjectType._isSet(this._subType); + } +} + +/** + * Class representing an array type of Ignite objects. + * + * It is described by COMPOSITE_TYPE.OBJECT_ARRAY {@link ObjectType.COMPOSITE_TYPE}. + * + * @extends CompositeType + */ +class ObjectArrayType extends CompositeType { + + /** + * Public constructor. + * + * Optionally specifies a type of elements in the array. + * + * If the type of elements is not specified then during operations the Ignite client + * will try to make automatic mapping between JavaScript types and Ignite object types - + * according to the mapping table defined in the description of the {@link ObjectType} class. + * + * @param {ObjectType.PRIMITIVE_TYPE | CompositeType} [elementType=null] - type of the array element: + * - either a type code of primitive (simple) type + * - or an instance of class representing non-primitive (composite) type + * - or null (or not specified) that means the type is not specified + * + * @return {ObjectArrayType} - new ObjectArrayType instance + * + * @throws {IgniteClientError} if error. + */ + constructor(elementType = null) { + super(COMPOSITE_TYPE.OBJECT_ARRAY); + const BinaryUtils = require('./internal/BinaryUtils'); + BinaryUtils.checkObjectType(elementType, 'elementType'); + this._elementType = elementType; + } +} + +/** + * Class representing a complex type of Ignite object. + * + * It is described by COMPOSITE_TYPE.COMPLEX_OBJECT {@link ObjectType.COMPOSITE_TYPE}, + * by a name of the complex type and by a JavaScript Object which is mapped to/from the Ignite complex type. + * + * @extends CompositeType + */ +class ComplexObjectType extends CompositeType { + + /** + * Public constructor. + * + * Specifies a JavaScript Object type which will be mapped to/from the complex type. + * This specification is done using an instance of the JavaScript Object. + * + * If an object of the complex type is going to be received (deserialized), + * the JavaScript Object must have a constructor without parameters or with optional parameters only. + * + * The JavaScript Object defines a set of fields of the complex type. + * + * By default, the fields have no types specified. It means during operations the Ignite client + * will try to make automatic mapping between JavaScript types and Ignite object types - + * according to the mapping table defined in the description of the {@link ObjectType} class. + * + * A type of any field may be specified later by setFieldType() method. + * + * By default, the name of the complex type is the name of the JavaScript Object. + * The name may be explicitely specified using optional typeName parameter in the constructor. + * + * @param {object} jsObject - instance of JavaScript Object which will be mapped to/from this complex type. + * @param {string} [typeName] - name of the complex type. + * + * @return {ComplexObjectType} - new ComplexObjectType instance + * + * @throws {IgniteClientError} if error. + */ + constructor(jsObject, typeName = null) { + super(COMPOSITE_TYPE.COMPLEX_OBJECT); + ArgumentChecker.notEmpty(jsObject, 'jsObject'); + this._template = jsObject; + this._objectConstructor = jsObject && jsObject.constructor ? + jsObject.constructor : Object; + if (!typeName) { + typeName = this._objectConstructor.name; + } + this._typeName = typeName; + this._fields = new Map(); + const BinaryUtils = require('./internal/BinaryUtils'); + for (let fieldName of BinaryUtils.getJsObjectFieldNames(this._template)) { + this._fields.set(fieldName, null); + } + } + + /** + * Specifies a type of the field in the complex type. + * + * If the type is not specified then during operations the Ignite client + * will try to make automatic mapping between JavaScript types and Ignite object types - + * according to the mapping table defined in the description of the {@link ObjectType} class. + * + * @param {string} fieldName - name of the field. + * @param {ObjectType.PRIMITIVE_TYPE | CompositeType} fieldType - type of the field: + * - either a type code of primitive (simple) type + * - or an instance of class representing non-primitive (composite) type + * - or null (means the type is not specified). + * + * @return {ComplexObjectType} - the same instance of the ComplexObjectType. + * + * @throws {IgniteClientError} if error. + */ + setFieldType(fieldName, fieldType) { + if (!this._fields.has(fieldName)) { + throw Errors.IgniteClientError.illegalArgumentError( + Util.format('Field "%s" is absent in the complex object type', fieldName)); + } + const BinaryUtils = require('./internal/BinaryUtils'); + BinaryUtils.checkObjectType(fieldType, 'fieldType'); + this._fields.set(fieldName, fieldType); + return this; + } + + /** Private methods */ + + /** + * @ignore + */ + _getFieldType(fieldName) { + return this._fields.get(fieldName); + } +} + +module.exports.ObjectType = ObjectType; +module.exports.CompositeType = CompositeType; +module.exports.MapObjectType = MapObjectType; +module.exports.CollectionObjectType = CollectionObjectType; +module.exports.ComplexObjectType = ComplexObjectType; +module.exports.ObjectArrayType = ObjectArrayType; +</code></pre> + </article> + </section> + + + + +</div> + +<nav> + <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BinaryObject.html">BinaryObject</a></li><li><a href="CacheClient.html">CacheClient</a></li><li><a href="CacheConfiguration.html">CacheConfiguration</a></li><li><a href="CacheEntry.html">CacheEntry</a></li><li><a href="CacheKeyConfiguration.html">CacheKeyConfiguration</a></li><li><a href="CollectionObjectType.html">CollectionObjectType</a></li><li><a href="ComplexObjectType.html">ComplexObjectType</a></li><li><a href="CompositeType.html">CompositeType</a></li><li><a href="Cursor.html">Cursor</a></li><li><a href="EnumItem.html">EnumItem</a></li><li><a href="IgniteClient.html">IgniteClient</a></li><li><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></li><li><a href="IgniteClientError.html">IgniteClientError</a></li><li><a href="IllegalStateError.html">IllegalStateError</a></li><li><a href="LostConnectionError.html">LostConnectionError</a></li><li><a href="MapObjectType.html">MapObjectType</ a></li><li><a href="ObjectArrayType.html">ObjectArrayType</a></li><li><a href="ObjectType.html">ObjectType</a></li><li><a href="OperationError.html">OperationError</a></li><li><a href="Query.html">Query</a></li><li><a href="QueryEntity.html">QueryEntity</a></li><li><a href="QueryField.html">QueryField</a></li><li><a href="QueryIndex.html">QueryIndex</a></li><li><a href="ScanQuery.html">ScanQuery</a></li><li><a href="SqlFieldsCursor.html">SqlFieldsCursor</a></li><li><a href="SqlFieldsQuery.html">SqlFieldsQuery</a></li><li><a href="SqlQuery.html">SqlQuery</a></li><li><a href="Timestamp.html">Timestamp</a></li></ul> +</nav> + +<br class="clear"> + +<footer> + Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Tue May 22 2018 12:08:48 GMT+0300 (Russia TZ 2 Standard Time) +</footer> + +<script> prettyPrint(); </script> +<script src="scripts/linenumber.js"> </script> +</body> +</html> http://git-wip-us.apache.org/repos/asf/ignite/blob/c56d16fb/modules/platforms/nodejs/api_spec/OperationError.html ---------------------------------------------------------------------- diff --git a/modules/platforms/nodejs/api_spec/OperationError.html b/modules/platforms/nodejs/api_spec/OperationError.html new file mode 100644 index 0000000..ea6112d --- /dev/null +++ b/modules/platforms/nodejs/api_spec/OperationError.html @@ -0,0 +1,179 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>JSDoc: Class: OperationError</title> + + <script src="scripts/prettify/prettify.js"> </script> + <script src="scripts/prettify/lang-css.js"> </script> + <!--[if lt IE 9]> + <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> + <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> +</head> + +<body> + +<div id="main"> + + <h1 class="page-title">Class: OperationError</h1> + + + + + + +<section> + +<header> + + <h2><span class="attribs"><span class="type-signature"></span></span>OperationError<span class="signature">()</span><span class="type-signature"></span></h2> + + <div class="class-description"><p>Ignite server returns error for the requested operation.</p></div> + + +</header> + +<article> + <div class="container-overview"> + + + + + <h2>Constructor</h2> + + + + <h4 class="name" id="OperationError"><span class="type-signature"></span>new OperationError<span class="signature">()</span><span class="type-signature"></span></h4> + + + + + + + + + + + + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + <dt class="tag-source">Source:</dt> + <dd class="tag-source"><ul class="dummy"><li> + <a href="Errors.js.html">Errors.js</a>, <a href="Errors.js.html#line92">line 92</a> + </li></ul></dd> + + + + + + + +</dl> + + + + + + + + + + + + + + + + + + + + </div> + + + <h3 class="subsection-title">Extends</h3> + + + + + <ul> + <li><a href="IgniteClientError.html">IgniteClientError</a></li> + </ul> + + + + + + + + + + + + + + + + + + + + + +</article> + +</section> + + + + +</div> + +<nav> + <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BinaryObject.html">BinaryObject</a></li><li><a href="CacheClient.html">CacheClient</a></li><li><a href="CacheConfiguration.html">CacheConfiguration</a></li><li><a href="CacheEntry.html">CacheEntry</a></li><li><a href="CacheKeyConfiguration.html">CacheKeyConfiguration</a></li><li><a href="CollectionObjectType.html">CollectionObjectType</a></li><li><a href="ComplexObjectType.html">ComplexObjectType</a></li><li><a href="CompositeType.html">CompositeType</a></li><li><a href="Cursor.html">Cursor</a></li><li><a href="EnumItem.html">EnumItem</a></li><li><a href="IgniteClient.html">IgniteClient</a></li><li><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></li><li><a href="IgniteClientError.html">IgniteClientError</a></li><li><a href="IllegalStateError.html">IllegalStateError</a></li><li><a href="LostConnectionError.html">LostConnectionError</a></li><li><a href="MapObjectType.html">MapObjectType</ a></li><li><a href="ObjectArrayType.html">ObjectArrayType</a></li><li><a href="ObjectType.html">ObjectType</a></li><li><a href="OperationError.html">OperationError</a></li><li><a href="Query.html">Query</a></li><li><a href="QueryEntity.html">QueryEntity</a></li><li><a href="QueryField.html">QueryField</a></li><li><a href="QueryIndex.html">QueryIndex</a></li><li><a href="ScanQuery.html">ScanQuery</a></li><li><a href="SqlFieldsCursor.html">SqlFieldsCursor</a></li><li><a href="SqlFieldsQuery.html">SqlFieldsQuery</a></li><li><a href="SqlQuery.html">SqlQuery</a></li><li><a href="Timestamp.html">Timestamp</a></li></ul> +</nav> + +<br class="clear"> + +<footer> + Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Tue May 22 2018 12:08:49 GMT+0300 (Russia TZ 2 Standard Time) +</footer> + +<script> prettyPrint(); </script> +<script src="scripts/linenumber.js"> </script> +</body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/c56d16fb/modules/platforms/nodejs/api_spec/Query.html ---------------------------------------------------------------------- diff --git a/modules/platforms/nodejs/api_spec/Query.html b/modules/platforms/nodejs/api_spec/Query.html new file mode 100644 index 0000000..4f271b9 --- /dev/null +++ b/modules/platforms/nodejs/api_spec/Query.html @@ -0,0 +1,481 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>JSDoc: Class: Query</title> + + <script src="scripts/prettify/prettify.js"> </script> + <script src="scripts/prettify/lang-css.js"> </script> + <!--[if lt IE 9]> + <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> + <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> +</head> + +<body> + +<div id="main"> + + <h1 class="page-title">Class: Query</h1> + + + + + + +<section> + +<header> + + <h2><span class="attribs"><span class="type-signature"></span></span>Query</h2> + + <div class="class-description"><p>Base class representing an Ignite SQL or Scan query.</p> +<p>The class has no public constructor. Only subclasses may be instantiated.</p></div> + + +</header> + +<article> + <div class="container-overview"> + + + + + + + + + + + + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + <dt class="tag-source">Source:</dt> + <dd class="tag-source"><ul class="dummy"><li> + <a href="Query.js.html">Query.js</a>, <a href="Query.js.html#line35">line 35</a> + </li></ul></dd> + + + + + + + +</dl> + + + + + + + + + + + + + + + + + + + + </div> + + + + + + + + + + + + + + + + + <h3 class="subsection-title">Methods</h3> + + + + + + + + <h4 class="name" id="setLocal"><span class="type-signature"></span>setLocal<span class="signature">(local)</span><span class="type-signature"> → {<a href="Query.html">Query</a>}</span></h4> + + + + + + +<div class="description"> + <p>Set local query flag.</p> +</div> + + + + + + + + + + <h5>Parameters:</h5> + + +<table class="params"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>local</code></td> + + + <td class="type"> + + +<span class="param-type">boolean</span> + + + + </td> + + + + + + <td class="description last"><p>local query flag: true or false.</p></td> + </tr> + + + </tbody> +</table> + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + <dt class="tag-source">Source:</dt> + <dd class="tag-source"><ul class="dummy"><li> + <a href="Query.js.html">Query.js</a>, <a href="Query.js.html#line44">line 44</a> + </li></ul></dd> + + + + + + + +</dl> + + + + + + + + + + + + + +<h5>Returns:</h5> + + +<div class="param-desc"> + <ul> +<li>the same instance of the Query.</li> +</ul> +</div> + + + +<dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type"><a href="Query.html">Query</a></span> + + + </dd> +</dl> + + + + + + + + + + + + + + <h4 class="name" id="setPageSize"><span class="type-signature"></span>setPageSize<span class="signature">(pageSize)</span><span class="type-signature"> → {<a href="Query.html">Query</a>}</span></h4> + + + + + + +<div class="description"> + <p>Set <a href="Cursor.html">Cursor</a> page size.</p> +</div> + + + + + + + + + + <h5>Parameters:</h5> + + +<table class="params"> + <thead> + <tr> + + <th>Name</th> + + + <th>Type</th> + + + + + + <th class="last">Description</th> + </tr> + </thead> + + <tbody> + + + <tr> + + <td class="name"><code>pageSize</code></td> + + + <td class="type"> + + +<span class="param-type">number</span> + + + + </td> + + + + + + <td class="description last"><p>cursor page size.</p></td> + </tr> + + + </tbody> +</table> + + + + + + +<dl class="details"> + + + + + + + + + + + + + + + + + + + + + + + + + + + <dt class="tag-source">Source:</dt> + <dd class="tag-source"><ul class="dummy"><li> + <a href="Query.js.html">Query.js</a>, <a href="Query.js.html#line56">line 56</a> + </li></ul></dd> + + + + + + + +</dl> + + + + + + + + + + + + + +<h5>Returns:</h5> + + +<div class="param-desc"> + <ul> +<li>the same instance of the Query.</li> +</ul> +</div> + + + +<dl> + <dt> + Type + </dt> + <dd> + +<span class="param-type"><a href="Query.html">Query</a></span> + + + </dd> +</dl> + + + + + + + + + + + + + +</article> + +</section> + + + + +</div> + +<nav> + <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BinaryObject.html">BinaryObject</a></li><li><a href="CacheClient.html">CacheClient</a></li><li><a href="CacheConfiguration.html">CacheConfiguration</a></li><li><a href="CacheEntry.html">CacheEntry</a></li><li><a href="CacheKeyConfiguration.html">CacheKeyConfiguration</a></li><li><a href="CollectionObjectType.html">CollectionObjectType</a></li><li><a href="ComplexObjectType.html">ComplexObjectType</a></li><li><a href="CompositeType.html">CompositeType</a></li><li><a href="Cursor.html">Cursor</a></li><li><a href="EnumItem.html">EnumItem</a></li><li><a href="IgniteClient.html">IgniteClient</a></li><li><a href="IgniteClientConfiguration.html">IgniteClientConfiguration</a></li><li><a href="IgniteClientError.html">IgniteClientError</a></li><li><a href="IllegalStateError.html">IllegalStateError</a></li><li><a href="LostConnectionError.html">LostConnectionError</a></li><li><a href="MapObjectType.html">MapObjectType</ a></li><li><a href="ObjectArrayType.html">ObjectArrayType</a></li><li><a href="ObjectType.html">ObjectType</a></li><li><a href="OperationError.html">OperationError</a></li><li><a href="Query.html">Query</a></li><li><a href="QueryEntity.html">QueryEntity</a></li><li><a href="QueryField.html">QueryField</a></li><li><a href="QueryIndex.html">QueryIndex</a></li><li><a href="ScanQuery.html">ScanQuery</a></li><li><a href="SqlFieldsCursor.html">SqlFieldsCursor</a></li><li><a href="SqlFieldsQuery.html">SqlFieldsQuery</a></li><li><a href="SqlQuery.html">SqlQuery</a></li><li><a href="Timestamp.html">Timestamp</a></li></ul> +</nav> + +<br class="clear"> + +<footer> + Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Tue May 22 2018 12:08:49 GMT+0300 (Russia TZ 2 Standard Time) +</footer> + +<script> prettyPrint(); </script> +<script src="scripts/linenumber.js"> </script> +</body> +</html> \ No newline at end of file
