UNPKG

copious-transitions

Version:
3,004 lines (787 loc) 42.9 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Class: GeneralTransitionEngImpl</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: GeneralTransitionEngImpl</h1> <section> <header> <h2><span class="attribs"><span class="type-signature"></span></span> <span class="ancestors"><a href="base.html">base</a>.</span>GeneralTransitionEngImpl<span class="signature">()</span><span class="type-signature"></span></h2> <div class="class-description"><p>The General Transition Engine provides basic transitions for files and media while keeping the abstraction for managing and executing transtions which may be of varying complexity and asynchronicity.</p> <p>Ideally, the most advanced transition engine will operate distributed ATMs or Petri nets with the web interface taking part a an active input driver from among many input drivers.</p> <p>NOTE: all the base classes in /lib return the class and do not return an instance. Explore the applications and the reader will find that the descendant modules export instances. The classes provided by copious-transitions must be extended by an application.</p></div> </header> <article> <div class="container-overview"> <h2>Constructor</h2> <h4 class="name" id="GeneralTransitionEngImpl"><span class="type-signature"></span>new GeneralTransitionEngImpl<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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line21">line 21</a> </li></ul></dd> </dl> </div> <h3 class="subsection-title">Methods</h3> <h4 class="name" id="alt_store"><span class="type-signature"></span>alt_store<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span></h4> <div class="description"> <p>Returns true if the application override is configured to use alternate storage to the default storage provided here.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line162">line 162</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">boolean</span> </dd> </dl> <h4 class="name" id="app_pack_data"><span class="type-signature"></span>app_pack_data<span class="signature">(blob_data)</span><span class="type-signature"></span></h4> <div class="description"> <p>Replaces the functionality of <code>store_data</code> if alt_store returns true.</p> <p>In the application version of this method, the point is to return data that can be written into a file using the method <code>store_data</code>.</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>blob_data</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line172">line 172</a> </li></ul></dd> </dl> <h4 class="name" id="chunk_mover"><span class="type-signature">(async) </span>chunk_mover<span class="signature">(`token`, `file_descriptor`, `target_path`, `cb`)</span><span class="type-signature"> &rarr; {string|function}</span></h4> <div class="description"> <p>The map <code>_uploader_managers</code> stores a chunk manager per transition token. Elsewhere in this documentation, the transition object and its token is explained. One kind of transition is one that takes in data from the client, and its token will last as long as the data is being uploaded.</p> <p>The chunk manager has the purpose of return a collection of chunks in preparation for writing to storage. In some applications, the <code>chunk_mover</code> may return <strong>false</strong> if the chunks cannot be a complete file. The expectation is that the chunk mover will be called again after adding more chunks, until the data can be stored as a complete object.</p> <p>When the storage operation has been performed, the <code>store_data</code> method will return an identifier that identifies the data. This may be a hash of the data. Ultimately, this identifier will be returned by this method.</p> <p>This method is called by <code>chunks_complete</code>.</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>`token`</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`file_descriptor`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`target_path`</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`cb`</code></td> <td class="type"> <span class="param-type">function</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line200">line 200</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">string</span> | <span class="param-type">function</span> </dd> </dl> <h4 class="name" id="chunks_complete"><span class="type-signature">(async) </span>chunks_complete<span class="signature">(post_body, ttrans)</span><span class="type-signature"> &rarr; {object}</span></h4> <div class="description"> <p>The post body must have the <code>token</code> field with the value being the transition token required by the request.</p> <p>The previously prepared chunk manager will be accessed by mapping the token to the chunk manager in the <code>_uploader_managers</code> map.</p> <p>The post body must have one of the following fields:</p> <ul> <li><code>file_list</code> - an array of file descriptors</li> <li><code>file</code> - a single descriptor</li> </ul> <p>If the post body has the field <code>file_list</code>,which must be an array of file descriptors, then each descriptor will have at least one field <code>name</code>. The chunk manager will have a map, <code>_chunkers</code>, which maps the file name to the array of gathered chunks.</p> <p>If the post body as a <code>file</code> field instead of a <code>file_list</code> field, the chunk manager will look for the one array where all the chunks being uploaded have been gathered for storage in just one file.</p> <p>This method attempts to create a unique name for the file from the information that has been passed to it. Furthermore, it makes use of the transition class object's <code>file_entry_id</code>.</p> <p>This method is often called by the application's session manager as a part of transition finalization.</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>post_body</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>ttrans</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>the transition class object</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line354">line 354</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <ul> <li><code>finalization_state</code> - this object has fields &quot;state&quot; equal to &quot;stored&quot; if successful, &quot;OK&quot; equal to <strong>true</strong>, and a list of ids, which are all the file ids that have been finally stored.</li> </ul> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">object</span> </dd> </dl> <h4 class="name" id="chunks_to_data"><span class="type-signature"></span>chunks_to_data<span class="signature">(`blob_data`)</span><span class="type-signature"> &rarr; {Buffer}</span></h4> <div class="description"> <p>Calls the node.js Buffer.concat method. Some application may do something else. Returns a buffer.</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>`blob_data`</code></td> <td class="type"> <span class="param-type">Buffer</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line113">line 113</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">Buffer</span> </dd> </dl> <h4 class="name" id="file_mover"><span class="type-signature">(async) </span>file_mover<span class="signature">(`file_descriptor`, `target_path`, `trans_obj`, cb)</span><span class="type-signature"> &rarr; {Number}</span></h4> <div class="description"> <p>A number of parameters are provided for applications needing more complexity than this method provides.</p> <p>As a default, this method calls node.js <code>mv</code>.</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>`file_descriptor`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`target_path`</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`trans_obj`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>cb</code></td> <td class="type"> <span class="param-type">function</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line129">line 129</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">Number</span> </dd> </dl> <h4 class="name" id="files_coming_in_chunks"><span class="type-signature"></span>files_coming_in_chunks<span class="signature">(`post_body`, `token`)</span><span class="type-signature"></span></h4> <div class="description"> <p>Initializes a chunk manager that will receive a number of files identified in the requet body of an uploader type of transition. The chunk manager will be keyed (remembered) by its transition token.</p> <p>The post body should have a field <code>file_list</code> which must be an array of file descriptors. Each descriptor will have at least one field <code>name</code>. The chunk manager will have a map, <code>_chunkers</code>, which maps the file name to an empty array. The empty array will later be filled with chunk data.</p> <p>If the post body does not have a <code>file_list</code> field, the chunk manager will keep just one array where all the chunks being uploaded will be placed for future storage in just one file.</p> <p>This method is often called by the application's session manager as a part of transition processing.</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>`post_body`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>the POST request body from the client (or a message from the endpoint server)</p></td> </tr> <tr> <td class="name"><code>`token`</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>the chunk manager is always identified by the transtion token</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line240">line 240</a> </li></ul></dd> </dl> <h4 class="name" id="get_import_key_function"><span class="type-signature"></span>get_import_key_function<span class="signature">()</span><span class="type-signature"> &rarr; {string|boolean}</span></h4> <div class="description"> <p>This method returns false. It should be overridden in applications using crytpo key processing.</p> </div> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line102">line 102</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">string</span> | <span class="param-type">boolean</span> </dd> </dl> <h4 class="name" id="initialize"><span class="type-signature"></span>initialize<span class="signature">(conf, db)</span><span class="type-signature"></span></h4> <div class="description"> <p>At this level, this method just sets the configuration and the database referenc.</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>conf</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>db</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line42">line 42</a> </li></ul></dd> </dl> <h4 class="name" id="install"><span class="type-signature"></span>install<span class="signature">(`statics_assets`, `dynamics_assets`, sessions)</span><span class="type-signature"></span></h4> <div class="description"> <p>This method sets back references to other lib component class instances. It also tends to the importation of crypto keys.</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>`statics_assets`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`dynamics_assets`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>sessions</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line55">line 55</a> </li></ul></dd> </dl> <h4 class="name" id="set_contractual_filters"><span class="type-signature"></span>set_contractual_filters<span class="signature">(`trans_processor`, `user_processor`, `mime_processor`)</span><span class="type-signature"></span></h4> <div class="description"> <p>This method sets back references to the contractual methods which provide the skeletal outline for handling client requests. The contractual class methods, especially those for transition processing, are generally the callers of the application's transition engine. But, the transition engine may call back to those classes if needed (depends on the application).</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>`trans_processor`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`user_processor`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`mime_processor`</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line77">line 77</a> </li></ul></dd> </dl> <h4 class="name" id="set_ws"><span class="type-signature"></span>set_ws<span class="signature">(`web_sockets`)</span><span class="type-signature"></span></h4> <div class="description"> <p>Accepts a reference to the application supplied web socket server manager and sets the <code>web_sockets</code> field to it.</p> <p>At times, the transition engine will use the web socket service to fire off messages to listening clients.</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>`web_sockets`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>the reference to the application supplied web socket server manager.</p></td> </tr> </tbody> </table> <dl class="details"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line92">line 92</a> </li></ul></dd> </dl> <h4 class="name" id="store_data"><span class="type-signature">(async) </span>store_data<span class="signature">(`file_descriptor`, `target_path`, `writeable_data`, id)</span><span class="type-signature"> &rarr; {string}</span></h4> <div class="description"> <p>By default, this method calls the async writeFile method to store data. Some applications may need to route storage at this point.</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>`file_descriptor`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`target_path`</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`writeable_data`</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>id</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line144">line 144</a> </li></ul></dd> </dl> <h5>Returns:</h5> <dl> <dt> Type </dt> <dd> <span class="param-type">string</span> </dd> </dl> <h4 class="name" id="update_meta_descriptors"><span class="type-signature">(async) </span>update_meta_descriptors<span class="signature">(`post_body`, ids)</span><span class="type-signature"></span></h4> <div class="description"> <p>This method is provided for those applications using persistent storage use meta descriptors of files.</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>`post_body`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>ids</code></td> <td class="type"> <span class="param-type">Array</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line155">line 155</a> </li></ul></dd> </dl> <h4 class="name" id="upload_chunk"><span class="type-signature">(async) </span>upload_chunk<span class="signature">(`post_body`, `files`)</span><span class="type-signature"> &rarr; {object}</span></h4> <div class="description"> <p>This method takes in the client's POST request body (or endpoint message) and the list of files associated with it. In some applications, the <em>files</em> map may be part of the request body. In other applications, the <em>files</em> map may be associated with a session token or session and might be cached between calls to the <code>upload_chunk</code>.</p> <p>The post body must have the <code>token</code> field with the value being the transition token required by the request.</p> <p>The previously prepared chunk manager will be accessed by mapping the token to the chunk manager in the <code>_uploader_managers</code> map.</p> <p>The files parameter must alwasy be a map even if there is only one file in <code>files</code>. If there is just one file, this method will check to see if uploading has been prepared to manage just one file. If it has been prepared to upload more, it is possible to have just one file if it is the last file still gathering chunks from the client. Complete files may have already been finalized. (This is why there are differen field names for the single and multiple case.)</p> <p>This method is often called by the application's session manager as a part of secondary transition processing.</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>`post_body`</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>`files`</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line280">line 280</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <ul> <li><code>state_of_result</code></li> </ul> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">object</span> </dd> </dl> <h4 class="name" id="upload_file"><span class="type-signature">(async) </span>upload_file<span class="signature">(post_body, ttrans, files, req)</span><span class="type-signature"> &rarr; {object}</span></h4> <div class="description"> <p>This method servers to upload a single file or multiple files in response one request, where all the files are complete upon arrival. (If chunking has occurred, it has been handled by standard HTTP mechanisms).</p> <p>The function of this handler is fairly common code stacks. Other methods in the class are useful in situations where data undergoes intermediate treatment during data gathering or when data is coming in messages from the endpoint server. Usually, this method is used when uploading a file from disk and passing it through standard forms.</p> <p>This method augments the placement of the file into an application directory by adding descriptors of the file into the DB (which is again defined by the application).</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>post_body</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>ttrans</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>files</code></td> <td class="type"> <span class="param-type">Array</span> </td> <td class="description last"></td> </tr> <tr> <td class="name"><code>req</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="lib_general_transition_engine.js.html">lib/general_transition_engine.js</a>, <a href="lib_general_transition_engine.js.html#line417">line 417</a> </li></ul></dd> </dl> <h5>Returns:</h5> <div class="param-desc"> <ul> <li><code>finalization_state</code></li> </ul> </div> <dl> <dt> Type </dt> <dd> <span class="param-type">object</span> </dd> </dl> </article> </section> </div> <nav> <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="Contractual.html">Contractual</a></li><li><a href="CopiousTransitions.html">CopiousTransitions</a></li><li><a href="DefaultDB.html">DefaultDB</a></li><li><a href="base.html">base</a></li><li><a href="field_validators.html">field_validators</a></li></ul><h3>Classes</h3><ul><li><a href="Contractual.LocalTObjectCache.html">LocalTObjectCache</a></li><li><a href="Contractual.MimeHandling.html">MimeHandling</a></li><li><a href="Contractual.TransitionHandling.html">TransitionHandling</a></li><li><a href="Contractual.UserHandling.html">UserHandling</a></li><li><a href="CopiousTransitions.CopiousTransitions.html">CopiousTransitions</a></li><li><a href="DefaultDB.CustomizationMethodsByApplication.html">CustomizationMethodsByApplication</a></li><li><a href="DefaultDB.FauxInMemStore.html">FauxInMemStore</a></li><li><a href="DefaultDB.FileMapper.html">FileMapper</a></li><li><a href="DefaultDB.FilesAndRelays.html">FilesAndRelays</a></li><li><a href="DefaultDB.FilesAndRelays_base.html">FilesAndRelays_base</a></li><li><a href="DefaultDB.LocalStaticDB.html">LocalStaticDB</a></li><li><a href="DefaultDB.LocalStorageLifeCycle.html">LocalStorageLifeCycle</a></li><li><a href="DefaultDB.LocalStorageSerialization.html">LocalStorageSerialization</a></li><li><a href="DefaultDB.PageableMemStoreElement.html">PageableMemStoreElement</a></li><li><a href="DefaultDB.PersistenceContracts.html">PersistenceContracts</a></li><li><a href="DefaultDB.RemoteMessaging.html">RemoteMessaging</a></li><li><a href="DefaultDB.StaticDBDefault.html">StaticDBDefault</a></li><li><a href="GeneralUserDBWrapperImpl.html">GeneralUserDBWrapperImpl</a></li><li><a href="SessionTokenManager.html">SessionTokenManager</a></li><li><a href="base.DBClass.html">DBClass</a></li><li><a href="base.EndpointManager.html">EndpointManager</a></li><li><a href="base.GeneralAppLifeCycle.html">GeneralAppLifeCycle</a></li><li><a href="base.GeneralAuth.html">GeneralAuth</a></li><li><a href="base.GeneralBusiness.html">GeneralBusiness</a></li><li><a href="base.GeneralDynamic.html">GeneralDynamic</a></li><li><a href="base.GeneralMiddleWare.html">GeneralMiddleWare</a></li><li><a href="base.GeneralStatic.html">GeneralStatic</a></li><li><a href="base.GeneralTransitionEngImpl.html">GeneralTransitionEngImpl</a></li><li><a href="base.SessionManager.html">SessionManager</a></li><li><a href="base.SessionManager_Lite.html">SessionManager_Lite</a></li><li><a href="base.TaggedTransition.html">TaggedTransition</a></li><li><a href="base.TokenTables.html">TokenTables</a></li><li><a href="base.UserMessageEndpoint.html">UserMessageEndpoint</a></li><li><a href="base.WebSocketManager.html">WebSocketManager</a></li><li><a href="field_validators.DataLookupField.html">DataLookupField</a></li><li><a href="field_validators.EmailField.html">EmailField</a></li><li><a href="field_validators.EmailVerifyField.html">EmailVerifyField</a></li><li><a href="field_validators.FieldTest.html">FieldTest</a></li><li><a href="field_validators.FieldValidatorTools.html">FieldValidatorTools</a></li><li><a href="field_validators.ForeignAuth.html">ForeignAuth</a></li><li><a href="field_validators.GeneralValidator.html">GeneralValidator</a></li><li><a href="field_validators.LengthyAlphabetField.html">LengthyAlphabetField</a></li><li><a href="field_validators.LengthyDigitalField.html">LengthyDigitalField</a></li><li><a href="field_validators.LengthyField.html">LengthyField</a></li><li><a href="field_validators.LengthyStringField.html">LengthyStringField</a></li><li><a href="field_validators.PasswordField.html">PasswordField</a></li><li><a href="field_validators.PasswordVerifyField.html">PasswordVerifyField</a></li><li><a href="field_validators.TypeCheckField.html">TypeCheckField</a></li></ul><h3>Global</h3><ul><li><a href="global.html#generate_password_block">generate_password_block</a></li><li><a href="global.html#load_configuration">load_configuration</a></li><li><a href="global.html#load_parameters">load_parameters</a></li><li><a href="global.html#module_top">module_top</a></li></ul> </nav> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.2</a> on Tue Oct 31 2023 17:32:59 GMT-0700 (Pacific Daylight Time) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>