blob: e879ecd641a64d3b52072c5e40d10574c2dd93d5 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Thu Sep 15 14:13:16 CDT 2022 -->
<title>GCloudSessionDataStore (Eclipse Jetty API Doc - v11.0.12)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-09-15">
<meta name="description" content="declaration: package: org.eclipse.jetty.gcloud.session, class: GCloudSessionDataStore">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/GCloudSessionDataStore.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.gcloud.session</a></div>
<h1 title="Class GCloudSessionDataStore" class="title">Class GCloudSessionDataStore</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="../../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.AbstractLifeCycle</a>
<div class="inheritance"><a href="../../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.ContainerLifeCycle</a>
<div class="inheritance"><a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">org.eclipse.jetty.server.session.AbstractSessionDataStore</a>
<div class="inheritance">org.eclipse.jetty.gcloud.session.GCloudSessionDataStore</div>
</div>
</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../../server/session/SessionDataMap.html" title="interface in org.eclipse.jetty.server.session">SessionDataMap</a></code>, <code><a href="../../server/session/SessionDataStore.html" title="interface in org.eclipse.jetty.server.session">SessionDataStore</a></code>, <code><a href="../../util/component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></code>, <code><a href="../../util/component/Destroyable.html" title="interface in org.eclipse.jetty.util.component">Destroyable</a></code>, <code><a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code>, <code><a href="../../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></code>, <code><a href="../../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations"><a href="../../util/annotation/ManagedObject.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedObject</a>
</span><span class="modifiers">public class </span><span class="element-name type-name-label">GCloudSessionDataStore</span>
<span class="extends-implements">extends <a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></span></div>
<div class="block">GCloudSessionDataStore</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static class&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="GCloudSessionDataStore.EntityDataModel.html" class="type-name-link" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.EntityDataModel</a></code></div>
<div class="col-last even-row-color">
<div class="block">EntityDataModel
Names of type of Entity and Entity properties for sessions.</div>
</div>
<div class="col-first odd-row-color"><code>static class&nbsp;</code></div>
<div class="col-second odd-row-color"><code><a href="GCloudSessionDataStore.ExpiryInfo.html" class="type-name-link" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.ExpiryInfo</a></code></div>
<div class="col-last odd-row-color">
<div class="block">ExpiryInfo
Information related to session expiry</div>
</div>
</div>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.eclipse.jetty.util.component.AbstractLifeCycle">Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h2>
<code><a href="../../util/component/AbstractLifeCycle.AbstractLifeCycleListener.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.AbstractLifeCycleListener</a>, <a href="../../util/component/AbstractLifeCycle.StopException.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.StopException</a></code></div>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.eclipse.jetty.util.component.Container">Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></h2>
<code><a href="../../util/component/Container.InheritedListener.html" title="interface in org.eclipse.jetty.util.component">Container.InheritedListener</a>, <a href="../../util/component/Container.Listener.html" title="interface in org.eclipse.jetty.util.component">Container.Listener</a></code></div>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.eclipse.jetty.util.component.Dumpable">Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h2>
<code><a href="../../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></code></div>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.eclipse.jetty.util.component.LifeCycle">Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></h2>
<code><a href="../../util/component/LifeCycle.Listener.html" title="interface in org.eclipse.jetty.util.component">LifeCycle.Listener</a></code></div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected int</code></div>
<div class="col-second even-row-color"><code><a href="#_backoff" class="member-name-link">_backoff</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected com.google.cloud.datastore.Datastore</code></div>
<div class="col-second odd-row-color"><code><a href="#_datastore" class="member-name-link">_datastore</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected boolean</code></div>
<div class="col-second even-row-color"><code><a href="#_dsProvided" class="member-name-link">_dsProvided</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected boolean</code></div>
<div class="col-second odd-row-color"><code><a href="#_indexesPresent" class="member-name-link">_indexesPresent</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected com.google.cloud.datastore.KeyFactory</code></div>
<div class="col-second even-row-color"><code><a href="#_keyFactory" class="member-name-link">_keyFactory</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected int</code></div>
<div class="col-second odd-row-color"><code><a href="#_maxResults" class="member-name-link">_maxResults</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected int</code></div>
<div class="col-second even-row-color"><code><a href="#_maxRetries" class="member-name-link">_maxRetries</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected <a href="GCloudSessionDataStore.EntityDataModel.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.EntityDataModel</a></code></div>
<div class="col-second odd-row-color"><code><a href="#_model" class="member-name-link">_model</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected boolean</code></div>
<div class="col-second even-row-color"><code><a href="#_modelProvided" class="member-name-link">_modelProvided</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static final int</code></div>
<div class="col-second odd-row-color"><code><a href="#DEFAULT_BACKOFF_MS" class="member-name-link">DEFAULT_BACKOFF_MS</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#DEFAULT_MAX_QUERY_RESULTS" class="member-name-link">DEFAULT_MAX_QUERY_RESULTS</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>static final int</code></div>
<div class="col-second odd-row-color"><code><a href="#DEFAULT_MAX_RETRIES" class="member-name-link">DEFAULT_MAX_RETRIES</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color"><code><a href="#DEFAULT_NAMESPACE" class="member-name-link">DEFAULT_NAMESPACE</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.eclipse.jetty.server.session.AbstractSessionDataStore">Fields inherited from class&nbsp;org.eclipse.jetty.server.session.<a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></h3>
<code><a href="../../server/session/AbstractSessionDataStore.html#_context">_context</a>, <a href="../../server/session/AbstractSessionDataStore.html#_gracePeriodSec">_gracePeriodSec</a>, <a href="../../server/session/AbstractSessionDataStore.html#_lastExpiryCheckTime">_lastExpiryCheckTime</a>, <a href="../../server/session/AbstractSessionDataStore.html#_lastOrphanSweepTime">_lastOrphanSweepTime</a>, <a href="../../server/session/AbstractSessionDataStore.html#_savePeriodSec">_savePeriodSec</a>, <a href="../../server/session/AbstractSessionDataStore.html#DEFAULT_GRACE_PERIOD_SEC">DEFAULT_GRACE_PERIOD_SEC</a>, <a href="../../server/session/AbstractSessionDataStore.html#DEFAULT_SAVE_PERIOD_SEC">DEFAULT_SAVE_PERIOD_SEC</a></code></div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.eclipse.jetty.util.component.AbstractLifeCycle">Fields inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../../util/component/AbstractLifeCycle.html#FAILED">FAILED</a>, <a href="../../util/component/AbstractLifeCycle.html#STARTED">STARTED</a>, <a href="../../util/component/AbstractLifeCycle.html#STARTING">STARTING</a>, <a href="../../util/component/AbstractLifeCycle.html#STOPPED">STOPPED</a>, <a href="../../util/component/AbstractLifeCycle.html#STOPPING">STOPPING</a></code></div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.eclipse.jetty.util.component.Dumpable">Fields inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../../util/component/Dumpable.html#KEY">KEY</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">GCloudSessionDataStore</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#checkIndexes()" class="member-name-link">checkIndexes</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Check to see if indexes are available, in which case
we can do more performant queries.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#delete(java.lang.String)" class="member-name-link">delete</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Delete session data</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doCheckExpired(java.util.Set,long)" class="member-name-link">doCheckExpired</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;candidates,
long&nbsp;time)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Implemented by subclasses to resolve which sessions in this context
that are being managed by this node that should be expired.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doCleanOrphans(long)" class="member-name-link">doCleanOrphans</a><wbr>(long&nbsp;timeLimit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Implemented by subclasses to delete sessions for other contexts that
expired at or before the timeLimit.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doExists(java.lang.String)" class="member-name-link">doExists</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Check if a session for the given id exists.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doGetExpired(long)" class="member-name-link">doGetExpired</a><wbr>(long&nbsp;time)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Implemented by subclasses to find sessions for this context in the store
that expired at or before the time limit and thus not being actively
managed by any node.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../server/session/SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doLoad(java.lang.String)" class="member-name-link">doLoad</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Load the session from persistent store.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doStart()" class="member-name-link">doStart</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Starts the managed lifecycle beans in the order they were added.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doStop()" class="member-name-link">doStop</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Stops the managed lifecycle beans in the reverse order they were added.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#doStore(java.lang.String,org.eclipse.jetty.server.session.SessionData,long)" class="member-name-link">doStore</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
<a href="../../server/session/SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data,
long&nbsp;lastSaveTime)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Store the session data persistently.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected com.google.cloud.datastore.Entity</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#entityFromSession(org.eclipse.jetty.server.session.SessionData,com.google.cloud.datastore.Key)" class="member-name-link">entityFromSession</a><wbr>(<a href="../../server/session/SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;session,
com.google.cloud.datastore.Key&nbsp;key)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generate a gcloud datastore Entity from SessionData</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getBackoffMs()" class="member-name-link">getBackoffMs</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="GCloudSessionDataStore.EntityDataModel.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.EntityDataModel</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getEntityDataModel()" class="member-name-link">getEntityDataModel</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getHost()" class="member-name-link">getHost</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMaxResults()" class="member-name-link">getMaxResults</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMaxRetries()" class="member-name-link">getMaxRetries</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getNamespace()" class="member-name-link">getNamespace</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getProjectId()" class="member-name-link">getProjectId</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isExpired(long)" class="member-name-link">isExpired</a><wbr>(long&nbsp;timestamp)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Check to see if the given time is in the past.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isPassivating()" class="member-name-link">isPassivating</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">True if this type of datastore will passivate session objects</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected com.google.cloud.datastore.Key</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeKey(java.lang.String,java.lang.String,java.lang.String)" class="member-name-link">makeKey</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;canonicalContextPath,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;canonicalVHost)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected com.google.cloud.datastore.Key</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#makeKey(java.lang.String,org.eclipse.jetty.server.session.SessionContext)" class="member-name-link">makeKey</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
<a href="../../server/session/SessionContext.html" title="class in org.eclipse.jetty.server.session">SessionContext</a>&nbsp;context)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Make a unique key for this session.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="GCloudSessionDataStore.ExpiryInfo.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.ExpiryInfo</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#queryExpiryByEntity()" class="member-name-link">queryExpiryByEntity</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">A less efficient query to find sessions whose expiry time has passed:
retrieves the whole Entity.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="GCloudSessionDataStore.ExpiryInfo.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.ExpiryInfo</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#queryExpiryByEntity(long)" class="member-name-link">queryExpiryByEntity</a><wbr>(long&nbsp;timeLimit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">A less efficient query to find sessions whose expiry time is before the
given timeLimit.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="GCloudSessionDataStore.ExpiryInfo.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.ExpiryInfo</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#queryExpiryByIndex()" class="member-name-link">queryExpiryByIndex</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">An efficient query to find sessions whose expiry time has passed:
uses a projection query, which requires indexes to be uploaded.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="GCloudSessionDataStore.ExpiryInfo.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.ExpiryInfo</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#queryExpiryByIndex(long)" class="member-name-link">queryExpiryByIndex</a><wbr>(long&nbsp;timeLimit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">An efficient query to find sessions whose expiry time is before the given timeLimit:
uses a projection query, which requires indexes to be uploaded.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../server/session/SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sessionFromEntity(com.google.cloud.datastore.Entity)" class="member-name-link">sessionFromEntity</a><wbr>(com.google.cloud.datastore.Entity&nbsp;entity)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generate SessionData from an Entity retrieved from gcloud datastore.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setBackoffMs(int)" class="member-name-link">setBackoffMs</a><wbr>(int&nbsp;ms)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setDatastore(com.google.cloud.datastore.Datastore)" class="member-name-link">setDatastore</a><wbr>(com.google.cloud.datastore.Datastore&nbsp;datastore)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setEntityDataModel(org.eclipse.jetty.gcloud.session.GCloudSessionDataStore.EntityDataModel)" class="member-name-link">setEntityDataModel</a><wbr>(<a href="GCloudSessionDataStore.EntityDataModel.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.EntityDataModel</a>&nbsp;model)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setHost(java.lang.String)" class="member-name-link">setHost</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;host)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setMaxResults(int)" class="member-name-link">setMaxResults</a><wbr>(int&nbsp;maxResults)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setMaxRetries(int)" class="member-name-link">setMaxRetries</a><wbr>(int&nbsp;retries)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setNamespace(java.lang.String)" class="member-name-link">setNamespace</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;namespace)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setProjectId(java.lang.String)" class="member-name-link">setProjectId</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;projectId)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.server.session.AbstractSessionDataStore">Methods inherited from class&nbsp;org.eclipse.jetty.server.session.<a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></h3>
<code><a href="../../server/session/AbstractSessionDataStore.html#checkStarted()">checkStarted</a>, <a href="../../server/session/AbstractSessionDataStore.html#cleanOrphans(long)">cleanOrphans</a>, <a href="../../server/session/AbstractSessionDataStore.html#exists(java.lang.String)">exists</a>, <a href="../../server/session/AbstractSessionDataStore.html#getExpired(java.util.Set)">getExpired</a>, <a href="../../server/session/AbstractSessionDataStore.html#getGracePeriodSec()">getGracePeriodSec</a>, <a href="../../server/session/AbstractSessionDataStore.html#getSavePeriodSec()">getSavePeriodSec</a>, <a href="../../server/session/AbstractSessionDataStore.html#initialize(org.eclipse.jetty.server.session.SessionContext)">initialize</a>, <a href="../../server/session/AbstractSessionDataStore.html#load(java.lang.String)">load</a>, <a href="../../server/session/AbstractSessionDataStore.html#newSessionData(java.lang.String,long,long,long,long)">newSessionData</a>, <a href="../../server/session/AbstractSessionDataStore.html#setGracePeriodSec(int)">setGracePeriodSec</a>, <a href="../../server/session/AbstractSessionDataStore.html#setSavePeriodSec(int)">setSavePeriodSec</a>, <a href="../../server/session/AbstractSessionDataStore.html#store(java.lang.String,org.eclipse.jetty.server.session.SessionData)">store</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.util.component.ContainerLifeCycle">Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></h3>
<code><a href="../../util/component/ContainerLifeCycle.html#addBean(java.lang.Object)">addBean</a>, <a href="../../util/component/ContainerLifeCycle.html#addBean(java.lang.Object,boolean)">addBean</a>, <a href="../../util/component/ContainerLifeCycle.html#addEventListener(java.util.EventListener)">addEventListener</a>, <a href="../../util/component/ContainerLifeCycle.html#addManaged(org.eclipse.jetty.util.component.LifeCycle)">addManaged</a>, <a href="../../util/component/ContainerLifeCycle.html#contains(java.lang.Object)">contains</a>, <a href="../../util/component/ContainerLifeCycle.html#destroy()">destroy</a>, <a href="../../util/component/ContainerLifeCycle.html#dump()">dump</a>, <a href="../../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable)">dump</a>, <a href="../../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable,java.lang.String)">dump</a>, <a href="../../util/component/ContainerLifeCycle.html#dumpObjects(java.lang.Appendable,java.lang.String,java.lang.Object...)">dumpObjects</a>, <a href="../../util/component/ContainerLifeCycle.html#dumpStdErr()">dumpStdErr</a>, <a href="../../util/component/ContainerLifeCycle.html#getBean(java.lang.Class)">getBean</a>, <a href="../../util/component/ContainerLifeCycle.html#getBeans()">getBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#getBeans(java.lang.Class)">getBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#getContainedBeans(java.lang.Class)">getContainedBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#getContainedBeans(java.lang.Class,java.util.Collection)">getContainedBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#isAuto(java.lang.Object)">isAuto</a>, <a href="../../util/component/ContainerLifeCycle.html#isManaged(java.lang.Object)">isManaged</a>, <a href="../../util/component/ContainerLifeCycle.html#isUnmanaged(java.lang.Object)">isUnmanaged</a>, <a href="../../util/component/ContainerLifeCycle.html#manage(java.lang.Object)">manage</a>, <a href="../../util/component/ContainerLifeCycle.html#removeBean(java.lang.Object)">removeBean</a>, <a href="../../util/component/ContainerLifeCycle.html#removeBeans()">removeBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#removeEventListener(java.util.EventListener)">removeEventListener</a>, <a href="../../util/component/ContainerLifeCycle.html#setBeans(java.util.Collection)">setBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#start(org.eclipse.jetty.util.component.LifeCycle)">start</a>, <a href="../../util/component/ContainerLifeCycle.html#stop(org.eclipse.jetty.util.component.LifeCycle)">stop</a>, <a href="../../util/component/ContainerLifeCycle.html#unmanage(java.lang.Object)">unmanage</a>, <a href="../../util/component/ContainerLifeCycle.html#updateBean(java.lang.Object,java.lang.Object)">updateBean</a>, <a href="../../util/component/ContainerLifeCycle.html#updateBean(java.lang.Object,java.lang.Object,boolean)">updateBean</a>, <a href="../../util/component/ContainerLifeCycle.html#updateBeans(java.lang.Object%5B%5D,java.lang.Object%5B%5D)">updateBeans</a>, <a href="../../util/component/ContainerLifeCycle.html#updateBeans(java.util.Collection,java.util.Collection)">updateBeans</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.util.component.AbstractLifeCycle">Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../../util/component/AbstractLifeCycle.html#getEventListeners()">getEventListeners</a>, <a href="../../util/component/AbstractLifeCycle.html#getState()">getState</a>, <a href="../../util/component/AbstractLifeCycle.html#getState(org.eclipse.jetty.util.component.LifeCycle)">getState</a>, <a href="../../util/component/AbstractLifeCycle.html#isFailed()">isFailed</a>, <a href="../../util/component/AbstractLifeCycle.html#isRunning()">isRunning</a>, <a href="../../util/component/AbstractLifeCycle.html#isStarted()">isStarted</a>, <a href="../../util/component/AbstractLifeCycle.html#isStarting()">isStarting</a>, <a href="../../util/component/AbstractLifeCycle.html#isStopped()">isStopped</a>, <a href="../../util/component/AbstractLifeCycle.html#isStopping()">isStopping</a>, <a href="../../util/component/AbstractLifeCycle.html#setEventListeners(java.util.Collection)">setEventListeners</a>, <a href="../../util/component/AbstractLifeCycle.html#start()">start</a>, <a href="../../util/component/AbstractLifeCycle.html#stop()">stop</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.util.component.Container">Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></h3>
<code><a href="../../util/component/Container.html#getCachedBeans(java.lang.Class)">getCachedBeans</a>, <a href="../../util/component/Container.html#getEventListeners()">getEventListeners</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.util.component.Dumpable">Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../../util/component/Dumpable.html#dumpSelf()">dumpSelf</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.util.component.Dumpable.DumpableContainer">Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></h3>
<code><a href="../../util/component/Dumpable.DumpableContainer.html#isDumpable(java.lang.Object)">isDumpable</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.util.component.LifeCycle">Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></h3>
<code><a href="../../util/component/LifeCycle.html#addEventListener(java.util.EventListener)">addEventListener</a>, <a href="../../util/component/LifeCycle.html#isFailed()">isFailed</a>, <a href="../../util/component/LifeCycle.html#isRunning()">isRunning</a>, <a href="../../util/component/LifeCycle.html#isStarted()">isStarted</a>, <a href="../../util/component/LifeCycle.html#isStarting()">isStarting</a>, <a href="../../util/component/LifeCycle.html#isStopped()">isStopped</a>, <a href="../../util/component/LifeCycle.html#isStopping()">isStopping</a>, <a href="../../util/component/LifeCycle.html#removeEventListener(java.util.EventListener)">removeEventListener</a>, <a href="../../util/component/LifeCycle.html#start()">start</a>, <a href="../../util/component/LifeCycle.html#stop()">stop</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="DEFAULT_MAX_QUERY_RESULTS">
<h3>DEFAULT_MAX_QUERY_RESULTS</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">DEFAULT_MAX_QUERY_RESULTS</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.eclipse.jetty.gcloud.session.GCloudSessionDataStore.DEFAULT_MAX_QUERY_RESULTS">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="DEFAULT_MAX_RETRIES">
<h3>DEFAULT_MAX_RETRIES</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">DEFAULT_MAX_RETRIES</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.eclipse.jetty.gcloud.session.GCloudSessionDataStore.DEFAULT_MAX_RETRIES">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="DEFAULT_BACKOFF_MS">
<h3>DEFAULT_BACKOFF_MS</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">DEFAULT_BACKOFF_MS</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.eclipse.jetty.gcloud.session.GCloudSessionDataStore.DEFAULT_BACKOFF_MS">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="DEFAULT_NAMESPACE">
<h3>DEFAULT_NAMESPACE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">DEFAULT_NAMESPACE</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.eclipse.jetty.gcloud.session.GCloudSessionDataStore.DEFAULT_NAMESPACE">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="_datastore">
<h3>_datastore</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">com.google.cloud.datastore.Datastore</span>&nbsp;<span class="element-name">_datastore</span></div>
</section>
</li>
<li>
<section class="detail" id="_keyFactory">
<h3>_keyFactory</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">com.google.cloud.datastore.KeyFactory</span>&nbsp;<span class="element-name">_keyFactory</span></div>
</section>
</li>
<li>
<section class="detail" id="_maxResults">
<h3>_maxResults</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">_maxResults</span></div>
</section>
</li>
<li>
<section class="detail" id="_maxRetries">
<h3>_maxRetries</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">_maxRetries</span></div>
</section>
</li>
<li>
<section class="detail" id="_backoff">
<h3>_backoff</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">_backoff</span></div>
</section>
</li>
<li>
<section class="detail" id="_dsProvided">
<h3>_dsProvided</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">_dsProvided</span></div>
</section>
</li>
<li>
<section class="detail" id="_indexesPresent">
<h3>_indexesPresent</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">_indexesPresent</span></div>
</section>
</li>
<li>
<section class="detail" id="_model">
<h3>_model</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="GCloudSessionDataStore.EntityDataModel.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.EntityDataModel</a></span>&nbsp;<span class="element-name">_model</span></div>
</section>
</li>
<li>
<section class="detail" id="_modelProvided">
<h3>_modelProvided</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">_modelProvided</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>GCloudSessionDataStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">GCloudSessionDataStore</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="setEntityDataModel(org.eclipse.jetty.gcloud.session.GCloudSessionDataStore.EntityDataModel)">
<h3>setEntityDataModel</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setEntityDataModel</span><wbr><span class="parameters">(<a href="GCloudSessionDataStore.EntityDataModel.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.EntityDataModel</a>&nbsp;model)</span></div>
</section>
</li>
<li>
<section class="detail" id="getEntityDataModel()">
<h3>getEntityDataModel</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="GCloudSessionDataStore.EntityDataModel.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.EntityDataModel</a></span>&nbsp;<span class="element-name">getEntityDataModel</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setBackoffMs(int)">
<h3>setBackoffMs</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setBackoffMs</span><wbr><span class="parameters">(int&nbsp;ms)</span></div>
</section>
</li>
<li>
<section class="detail" id="setNamespace(java.lang.String)">
<h3>setNamespace</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setNamespace</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;namespace)</span></div>
</section>
</li>
<li>
<section class="detail" id="getNamespace()">
<h3>getNamespace</h3>
<div class="member-signature"><span class="annotations"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>(<a href="../../util/annotation/ManagedAttribute.html#value()">value</a>="gcloud namespace",
<a href="../../util/annotation/ManagedAttribute.html#readonly()">readonly</a>=true)
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getNamespace</span>()</div>
</section>
</li>
<li>
<section class="detail" id="getBackoffMs()">
<h3>getBackoffMs</h3>
<div class="member-signature"><span class="annotations"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("unit in ms of exponential backoff")
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getBackoffMs</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setMaxRetries(int)">
<h3>setMaxRetries</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setMaxRetries</span><wbr><span class="parameters">(int&nbsp;retries)</span></div>
</section>
</li>
<li>
<section class="detail" id="getMaxRetries()">
<h3>getMaxRetries</h3>
<div class="member-signature"><span class="annotations"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("max number of retries for failed writes")
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getMaxRetries</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setHost(java.lang.String)">
<h3>setHost</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setHost</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;host)</span></div>
</section>
</li>
<li>
<section class="detail" id="getHost()">
<h3>getHost</h3>
<div class="member-signature"><span class="annotations"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>(<a href="../../util/annotation/ManagedAttribute.html#value()">value</a>="gcloud host",
<a href="../../util/annotation/ManagedAttribute.html#readonly()">readonly</a>=true)
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getHost</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setProjectId(java.lang.String)">
<h3>setProjectId</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setProjectId</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;projectId)</span></div>
</section>
</li>
<li>
<section class="detail" id="getProjectId()">
<h3>getProjectId</h3>
<div class="member-signature"><span class="annotations"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>(<a href="../../util/annotation/ManagedAttribute.html#value()">value</a>="gcloud project Id",
<a href="../../util/annotation/ManagedAttribute.html#readonly()">readonly</a>=true)
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getProjectId</span>()</div>
</section>
</li>
<li>
<section class="detail" id="doStart()">
<h3>doStart</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">doStart</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../util/component/ContainerLifeCycle.html#doStart()">ContainerLifeCycle</a></code></span></div>
<div class="block">Starts the managed lifecycle beans in the order they were added.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../../server/session/AbstractSessionDataStore.html#doStart()">doStart</a></code>&nbsp;in class&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></code></dd>
<dt>Throws:</dt>
<dd><code><a href="../../util/component/AbstractLifeCycle.StopException.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.StopException</a></code> - If thrown, the lifecycle will immediately be stopped.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - If there was a problem starting. Will cause a transition to FAILED state</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doStop()">
<h3>doStop</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">doStop</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../util/component/ContainerLifeCycle.html#doStop()">ContainerLifeCycle</a></code></span></div>
<div class="block">Stops the managed lifecycle beans in the reverse order they were added.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../../util/component/ContainerLifeCycle.html#doStop()">doStop</a></code>&nbsp;in class&nbsp;<code><a href="../../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></code></dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - If there was a problem stopping. Will cause a transition to FAILED state</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setDatastore(com.google.cloud.datastore.Datastore)">
<h3>setDatastore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setDatastore</span><wbr><span class="parameters">(com.google.cloud.datastore.Datastore&nbsp;datastore)</span></div>
</section>
</li>
<li>
<section class="detail" id="getMaxResults()">
<h3>getMaxResults</h3>
<div class="member-signature"><span class="annotations"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("max number of results to return from gcloud searches")
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getMaxResults</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setMaxResults(int)">
<h3>setMaxResults</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setMaxResults</span><wbr><span class="parameters">(int&nbsp;maxResults)</span></div>
</section>
</li>
<li>
<section class="detail" id="doLoad(java.lang.String)">
<h3>doLoad</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../server/session/SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a></span>&nbsp;<span class="element-name">doLoad</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html#doLoad(java.lang.String)">AbstractSessionDataStore</a></code></span></div>
<div class="block">Load the session from persistent store.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../server/session/AbstractSessionDataStore.html#doLoad(java.lang.String)">doLoad</a></code>&nbsp;in class&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>id</code> - the id of the session to load</dd>
<dt>Returns:</dt>
<dd>the re-inflated session</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - if unable to load the session</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="delete(java.lang.String)">
<h3>delete</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">delete</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../../server/session/SessionDataMap.html#delete(java.lang.String)">SessionDataMap</a></code></span></div>
<div class="block">Delete session data</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>id</code> - identity of session to delete</dd>
<dt>Returns:</dt>
<dd>true if the session was deleted</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - if unable to delete session data</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doCheckExpired(java.util.Set,long)">
<h3>doCheckExpired</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">doCheckExpired</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;candidates,
long&nbsp;time)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html#doCheckExpired(java.util.Set,long)">AbstractSessionDataStore</a></code></span></div>
<div class="block">Implemented by subclasses to resolve which sessions in this context
that are being managed by this node that should be expired.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../server/session/AbstractSessionDataStore.html#doCheckExpired(java.util.Set,long)">doCheckExpired</a></code>&nbsp;in class&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>candidates</code> - the ids of sessions the SessionCache thinks has expired</dd>
<dd><code>time</code> - the time at which to check for expiry</dd>
<dt>Returns:</dt>
<dd>the reconciled set of session ids that have been checked in the store</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doGetExpired(long)">
<h3>doGetExpired</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">doGetExpired</span><wbr><span class="parameters">(long&nbsp;time)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html#doGetExpired(long)">AbstractSessionDataStore</a></code></span></div>
<div class="block">Implemented by subclasses to find sessions for this context in the store
that expired at or before the time limit and thus not being actively
managed by any node. This method is only called periodically (the period
is configurable) to avoid putting too much load on the store.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../server/session/AbstractSessionDataStore.html#doGetExpired(long)">doGetExpired</a></code>&nbsp;in class&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>time</code> - the upper limit of expiry times to check. Sessions expired
at or before this timestamp will match.</dd>
<dt>Returns:</dt>
<dd>the empty set if there are no sessions expired as at the time, or
otherwise a set of session ids.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doCleanOrphans(long)">
<h3>doCleanOrphans</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">doCleanOrphans</span><wbr><span class="parameters">(long&nbsp;timeLimit)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html#doCleanOrphans(long)">AbstractSessionDataStore</a></code></span></div>
<div class="block">Implemented by subclasses to delete sessions for other contexts that
expired at or before the timeLimit. These are 'orphaned' sessions that
are no longer being actively managed by any node. These are explicitly
sessions that do NOT belong to this context (other mechanisms such as
doGetExpired take care of those). As they don't belong to this context,
they cannot be loaded by us.
This is called only periodically to avoid placing excessive load on the
store.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../server/session/AbstractSessionDataStore.html#doCleanOrphans(long)">doCleanOrphans</a></code>&nbsp;in class&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>timeLimit</code> - the upper limit of the expiry time to check in msec</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="queryExpiryByEntity()">
<h3>queryExpiryByEntity</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="GCloudSessionDataStore.ExpiryInfo.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.ExpiryInfo</a>&gt;</span>&nbsp;<span class="element-name">queryExpiryByEntity</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block">A less efficient query to find sessions whose expiry time has passed:
retrieves the whole Entity.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>set of ExpiryInfo representing the id, lastNode and expiry time of
sessions that are expired</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - if datastore experiences a problem</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="queryExpiryByEntity(long)">
<h3>queryExpiryByEntity</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="GCloudSessionDataStore.ExpiryInfo.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.ExpiryInfo</a>&gt;</span>&nbsp;<span class="element-name">queryExpiryByEntity</span><wbr><span class="parameters">(long&nbsp;timeLimit)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block">A less efficient query to find sessions whose expiry time is before the
given timeLimit.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>timeLimit</code> - time since the epoch</dd>
<dt>Returns:</dt>
<dd>set of ExpiryInfo representing the id,lastNode and expiry time</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="queryExpiryByIndex()">
<h3>queryExpiryByIndex</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="GCloudSessionDataStore.ExpiryInfo.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.ExpiryInfo</a>&gt;</span>&nbsp;<span class="element-name">queryExpiryByIndex</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block">An efficient query to find sessions whose expiry time has passed:
uses a projection query, which requires indexes to be uploaded.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>id, lastnode and expiry time of sessions that have expired</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - if datastore experiences a problem</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="queryExpiryByIndex(long)">
<h3>queryExpiryByIndex</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="GCloudSessionDataStore.ExpiryInfo.html" title="class in org.eclipse.jetty.gcloud.session">GCloudSessionDataStore.ExpiryInfo</a>&gt;</span>&nbsp;<span class="element-name">queryExpiryByIndex</span><wbr><span class="parameters">(long&nbsp;timeLimit)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block">An efficient query to find sessions whose expiry time is before the given timeLimit:
uses a projection query, which requires indexes to be uploaded.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>timeLimit</code> - the upper limit of expiry time to check</dd>
<dt>Returns:</dt>
<dd>id,lastnode and expiry time of sessions that have expired</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doExists(java.lang.String)">
<h3>doExists</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">doExists</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html#doExists(java.lang.String)">AbstractSessionDataStore</a></code></span></div>
<div class="block">Check if a session for the given id exists.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../server/session/AbstractSessionDataStore.html#doExists(java.lang.String)">doExists</a></code>&nbsp;in class&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>id</code> - the session id to check</dd>
<dt>Returns:</dt>
<dd>true if the session exists in the persistent store, false otherwise</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isExpired(long)">
<h3>isExpired</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isExpired</span><wbr><span class="parameters">(long&nbsp;timestamp)</span></div>
<div class="block">Check to see if the given time is in the past.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>timestamp</code> - the time to check</dd>
<dt>Returns:</dt>
<dd>false if the timestamp is 0 or less, true if it is in the past</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="doStore(java.lang.String,org.eclipse.jetty.server.session.SessionData,long)">
<h3>doStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">doStore</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
<a href="../../server/session/SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data,
long&nbsp;lastSaveTime)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html#doStore(java.lang.String,org.eclipse.jetty.server.session.SessionData,long)">AbstractSessionDataStore</a></code></span></div>
<div class="block">Store the session data persistently.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../../server/session/AbstractSessionDataStore.html#doStore(java.lang.String,org.eclipse.jetty.server.session.SessionData,long)">doStore</a></code>&nbsp;in class&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>id</code> - identity of session to store</dd>
<dd><code>data</code> - info of the session</dd>
<dd><code>lastSaveTime</code> - time of previous save or 0 if never saved</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - if unable to store data</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="makeKey(java.lang.String,org.eclipse.jetty.server.session.SessionContext)">
<h3>makeKey</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">com.google.cloud.datastore.Key</span>&nbsp;<span class="element-name">makeKey</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
<a href="../../server/session/SessionContext.html" title="class in org.eclipse.jetty.server.session">SessionContext</a>&nbsp;context)</span></div>
<div class="block">Make a unique key for this session.
As the same session id can be used across multiple contexts, to
make it unique, the key must be composed of:
<ol>
<li>the id</li>
<li>the context path</li>
<li>the virtual hosts</li>
</ol></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>id</code> - the id</dd>
<dd><code>context</code> - the session context</dd>
<dt>Returns:</dt>
<dd>the key</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="makeKey(java.lang.String,java.lang.String,java.lang.String)">
<h3>makeKey</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">com.google.cloud.datastore.Key</span>&nbsp;<span class="element-name">makeKey</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;id,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;canonicalContextPath,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;canonicalVHost)</span></div>
</section>
</li>
<li>
<section class="detail" id="checkIndexes()">
<h3>checkIndexes</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">checkIndexes</span>()</div>
<div class="block">Check to see if indexes are available, in which case
we can do more performant queries.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd><code>true</code> if indexes are available</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="entityFromSession(org.eclipse.jetty.server.session.SessionData,com.google.cloud.datastore.Key)">
<h3>entityFromSession</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">com.google.cloud.datastore.Entity</span>&nbsp;<span class="element-name">entityFromSession</span><wbr><span class="parameters">(<a href="../../server/session/SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;session,
com.google.cloud.datastore.Key&nbsp;key)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block">Generate a gcloud datastore Entity from SessionData</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>session</code> - the session data</dd>
<dd><code>key</code> - the key</dd>
<dt>Returns:</dt>
<dd>the entity</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - if there is a deserialization error</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="sessionFromEntity(com.google.cloud.datastore.Entity)">
<h3>sessionFromEntity</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="../../server/session/SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a></span>&nbsp;<span class="element-name">sessionFromEntity</span><wbr><span class="parameters">(com.google.cloud.datastore.Entity&nbsp;entity)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div>
<div class="block">Generate SessionData from an Entity retrieved from gcloud datastore.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>entity</code> - the entity</dd>
<dt>Returns:</dt>
<dd>the session data</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - if unable to get the entity</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isPassivating()">
<h3>isPassivating</h3>
<div class="member-signature"><span class="annotations"><a href="../../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>(<a href="../../util/annotation/ManagedAttribute.html#value()">value</a>="does gcloud serialize session data",
<a href="../../util/annotation/ManagedAttribute.html#readonly()">readonly</a>=true)
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isPassivating</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../../server/session/SessionDataStore.html#isPassivating()">SessionDataStore</a></code></span></div>
<div class="block">True if this type of datastore will passivate session objects</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if this store can passivate sessions, false otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="../../server/session/AbstractSessionDataStore.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../server/session/AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 1995&#x2013;2022 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>