<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Jive SDK Module: abstractDefinitions</title> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/sunlight.default.css"> <link type="text/css" rel="stylesheet" href="styles/site.spacelab.css"> </head> <body> <div class="container-fluid"> <div class="navbar navbar-fixed-top navbar-inverse"> <div class="navbar-inner"> <a class="brand" href="index.html">Jive SDK</a> <ul class="nav"> <li class="dropdown"> <a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b class="caret"></b></a> <ul class="dropdown-menu "> <li> <a href="module-abstractDefinitions.html">abstractDefinitions</a> </li> <li> <a href="module-abstractInstances.html">abstractInstances</a> </li> <li> <a href="module-addOnRoutes.html">addOnRoutes</a> </li> <li> <a href="module-api.html">api</a> </li> <li> <a href="module-community.html">community</a> </li> <li> <a href="module-constants.html">constants</a> </li> <li> <a href="module-devRoutes.html">devRoutes</a> </li> <li> <a href="module-events.html">events</a> </li> <li> <a href="module-extensions.html">extensions</a> </li> <li> <a href="module-extstreamsInstances.html">extstreamsInstances</a> </li> <li> <a href="module-jiveutil.html">jiveutil</a> </li> <li> <a href="module-oauthRoutes.html">oauthRoutes</a> </li> <li> <a href="module-request.html">request</a> </li> <li> <a href="module-security.html">security</a> </li> <li> <a href="module-service.html">service</a> </li> <li> <a href="module-tasks.html">tasks</a> </li> <li> <a href="module-tileInstances.html">tileInstances</a> </li> <li> <a href="module-tileRoutes.html">tileRoutes</a> </li> <li> <a href="module-tilesDefinitions.html">tilesDefinitions</a> </li> <li> <a href="module-webhooks.html">webhooks</a> </li> </ul> </li> <li class="dropdown"> <a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b class="caret"></b></a> <ul class="dropdown-menu "> <li> <a href="extstreamsDefinitions.html">extstreamsDefinitions</a> </li> <li> <a href="filePersistence.html">filePersistence</a> </li> <li> <a href="memoryPersistence.html">memoryPersistence</a> </li> <li> <a href="memoryScheduler.html">memoryScheduler</a> </li> <li> <a href="oauthHandler.html">oauthHandler</a> </li> </ul> </li> </ul> </div> </div> <div class="row-fluid"> <div class="span8"> <div id="main"> <h1 class="page-title">Module: abstractDefinitions</h1> <section> <header> <h2> abstractDefinitions </h2> </header> <article> <div class="container-overview"> <div class="description"><p>Library of common methods for manipulating definitions (tiles and extstreams).</p></div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="definitions.js.html">jive-sdk-api/lib/tile/definitions.js</a>, <a href="definitions.js.html#sunlight-1-line-17">line 17</a> </li></ul></dd> </dl> </div> <h3 class="subsection-title">Methods</h3> <dl> <dt> <h4 class="name" id="addEventHandler"><span class="type-signature"><static> </span>addEventHandler<span class="signature">(definitionName, eventName, handler, description)</span><span class="type-signature"> → {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Adds a listener to the named definition, for the named event.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>definitionName</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>eventName</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>handler</code></td> <td class="type"> <span class="param-type">function</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>description</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="definitions.js.html">jive-sdk-api/lib/tile/definitions.js</a>, <a href="definitions.js.html#sunlight-1-line-165">line 165</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="find"><span class="type-signature"><static> </span>find<span class="signature">(criteria, expectOne)</span><span class="type-signature"> → {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Find definitions in persistence using the provided key-value criteria map. For example:</p> <p><pre> { 'name': 'samplelist' } </pre> <br> On success, the returned promise will be resolved with an array of the located objects (which may be empty if none is found matching the criteria). If failure, the promise will be rejected with an error.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>criteria</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>expectOne</code></td> <td class="type"> <span class="param-type">Boolean</span> </td> <td class="description last"><p>If true, the promise will be resolved with at most 1 found item, or null (if none are found).</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="definitions.js.html">jive-sdk-api/lib/tile/definitions.js</a>, <a href="definitions.js.html#sunlight-1-line-107">line 107</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="findAll"><span class="type-signature"><static> </span>findAll<span class="signature">()</span><span class="type-signature"> → {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Searches persistence for definitions. The collection that is searched is defined in subclasses of this class (@see abstractDefinitions:getCollection). The promise will resolve with an empty array, or populated array, depending on whether any definitions exist.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="definitions.js.html">jive-sdk-api/lib/tile/definitions.js</a>, <a href="definitions.js.html#sunlight-1-line-143">line 143</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="findByID"><span class="type-signature"><static> </span>findByID<span class="signature">(definitionID)</span><span class="type-signature"> → {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Searches persistence for a definition that matches the given ID (the 'id' attribute). The collection that is searched is defined in subclasses of this class (@see abstractDefinitions:getCollection). If one is not found, the promise will resolve a null (undefined) value.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>definitionID</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"><p>Id of the definition to be retrieved.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="definitions.js.html">jive-sdk-api/lib/tile/definitions.js</a>, <a href="definitions.js.html#sunlight-1-line-122">line 122</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="findByTileName"><span class="type-signature"><static> </span>findByTileName<span class="signature">(definitionName)</span><span class="type-signature"> → {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Searches persistence for a definition that matches the given name (the 'name' attribute). The collection that is searched is defined in subclasses of this class (@see abstractDefinitions:getCollection). If one is not found, the promise will resolve a null (undefined) value.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>definitionName</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"><p>Name of the definition to be retrieved.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="definitions.js.html">jive-sdk-api/lib/tile/definitions.js</a>, <a href="definitions.js.html#sunlight-1-line-133">line 133</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="remove"><span class="type-signature"><static> </span>remove<span class="signature">(definitionID)</span><span class="type-signature"> → {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Removes a definition from persistence with the specified id (attribute 'id'). The collection that is searched is defined in subclasses of this class (@see abstractDefinitions:getCollection).</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>definitionID</code></td> <td class="type"> <span class="param-type">String</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="definitions.js.html">jive-sdk-api/lib/tile/definitions.js</a>, <a href="definitions.js.html#sunlight-1-line-153">line 153</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> <dt> <h4 class="name" id="save"><span class="type-signature"><static> </span>save<span class="signature">(definition)</span><span class="type-signature"> → {Promise}</span></h4> </dt> <dd> <div class="description"> <p>Save a definition to persistence. If the object does not have an id attribute, a random String is assigned. If the object is already present in persistence, it will be updated; otherwise it will be inserted. On success, the returned promise will be resolved with the inserted or updated object; if failure, the promise will be rejected with an error.</p> </div> <h5>Parameters:</h5> <table class="params table table-striped"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>definition</code></td> <td class="type"> <span class="param-type">Object</span> </td> <td class="description last"></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="definitions.js.html">jive-sdk-api/lib/tile/definitions.js</a>, <a href="definitions.js.html#sunlight-1-line-54">line 54</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <p>Promise</p> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">Promise</span> </dd> </dl> </dd> </dl> </article> </section> </div> <div class="clearfix"></div> <footer> <span class="copyright"> Jive Software, Inc </span> <br /> <span class="jsdoc-message"> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-dev</a> on Wed Jan 22 2014 12:29:38 GMT-0800 (PST) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>. </span> </footer> </div> <div class="span3"> <div id="toc"></div> </div> <br clear="both"> </div> </div> <script src="scripts/sunlight.js"></script> <script src="scripts/sunlight.javascript.js"></script> <script src="scripts/sunlight-plugin.doclinks.js"></script> <script src="scripts/sunlight-plugin.linenumbers.js"></script> <script src="scripts/sunlight-plugin.menu.js"></script> <script src="scripts/jquery.min.js"></script> <script src="scripts/jquery.scrollTo.js"></script> <script src="scripts/jquery.localScroll.js"></script> <script src="scripts/bootstrap-dropdown.js"></script> <script src="scripts/toc.js"></script> <script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script> <script> $( function () { $( "#toc" ).toc( { selectors : "h1,h2,h3,h4", showAndHide : false, scrollTo : 60 } ); $( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" ); $( "#main span[id^='toc']" ).addClass( "toc-shim" ); } ); </script> </body> </html>