blob: 24a6bdf0e0716bd50eef379b37750c8f59d714f4 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Thu Sep 15 14:12:07 CDT 2022 -->
<title>FileSessionDataStore (Eclipse Jetty API Doc - v10.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.server.session, class: FileSessionDataStore">
<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/FileSessionDataStore.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.server.session</a></div>
<h1 title="Class FileSessionDataStore" class="title">Class FileSessionDataStore</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="AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">org.eclipse.jetty.server.session.AbstractSessionDataStore</a>
<div class="inheritance">org.eclipse.jetty.server.session.FileSessionDataStore</div>
</div>
</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="SessionDataMap.html" title="interface in org.eclipse.jetty.server.session">SessionDataMap</a></code>, <code><a href="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">FileSessionDataStore</span>
<span class="extends-implements">extends <a href="AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></span></div>
<div class="block">FileSessionDataStore
A file-based store of session data.</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="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 <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="#_contextString" class="member-name-link">_contextString</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="#_deleteUnrestorableFiles" class="member-name-link">_deleteUnrestorableFiles</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected long</code></div>
<div class="col-second even-row-color"><code><a href="#_lastSweepTime" class="member-name-link">_lastSweepTime</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</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>,<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>&gt;</code></div>
<div class="col-second odd-row-color"><code><a href="#_sessionFileMap" class="member-name-link">_sessionFileMap</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html" title="class or interface in java.io" class="external-link">File</a></code></div>
<div class="col-second even-row-color"><code><a href="#_storeDir" class="member-name-link">_storeDir</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="AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></h3>
<code><a href="AbstractSessionDataStore.html#_context">_context</a>, <a href="AbstractSessionDataStore.html#_gracePeriodSec">_gracePeriodSec</a>, <a href="AbstractSessionDataStore.html#_lastExpiryCheckTime">_lastExpiryCheckTime</a>, <a href="AbstractSessionDataStore.html#_lastOrphanSweepTime">_lastOrphanSweepTime</a>, <a href="AbstractSessionDataStore.html#_savePeriodSec">_savePeriodSec</a>, <a href="AbstractSessionDataStore.html#DEFAULT_GRACE_PERIOD_SEC">DEFAULT_GRACE_PERIOD_SEC</a>, <a href="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">FileSessionDataStore</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>boolean</code></div>
<div class="col-second even-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 even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Delete a session</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="#deleteFile(java.lang.String)" class="member-name-link">deleteFile</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;filename)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Delete the file associated with a session</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">Check to see which sessions have 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;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 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;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 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="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="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 <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="#getContextFromFilename(java.lang.String)" class="member-name-link">getContextFromFilename</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;filename)</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 long</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getExpiryFromFilename(java.lang.String)" class="member-name-link">getExpiryFromFilename</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;filename)</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 <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="#getIdFromFilename(java.lang.String)" class="member-name-link">getIdFromFilename</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;filename)</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 <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="#getIdWithContext(java.lang.String)" class="member-name-link">getIdWithContext</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">Get the session id with its context.</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/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="#getIdWithContextAndExpiry(org.eclipse.jetty.server.session.SessionData)" class="member-name-link">getIdWithContextAndExpiry</a><wbr>(<a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the session id with its context and its expiry time</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/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="#getIdWithContextFromFilename(java.lang.String)" class="member-name-link">getIdWithContextFromFilename</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;filename)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Extract the session id and context from the filename</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/io/File.html" title="class or interface in java.io" class="external-link">File</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getStoreDir()" class="member-name-link">getStoreDir</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>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#initialize(org.eclipse.jetty.server.session.SessionContext)" class="member-name-link">initialize</a><wbr>(<a href="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">Initialize this data map for the
given context.</div>
</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="#initializeStore()" class="member-name-link">initializeStore</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Read the names of the existing session files and build a map of
fully qualified session ids (ie with context) to filename.</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="#isDeleteUnrestorableFiles()" class="member-name-link">isDeleteUnrestorableFiles</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="#isOurContextSessionFilename(java.lang.String)" class="member-name-link">isOurContextSessionFilename</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;filename)</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 the filename matches our session pattern
and is a session for our context.</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 boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isSessionFilename(java.lang.String)" class="member-name-link">isSessionFilename</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;filename)</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 the filename is a session filename.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#load(java.io.InputStream,java.lang.String)" class="member-name-link">load</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io" class="external-link">InputStream</a>&nbsp;is,
<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;expectedId)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Load the session data from a file.</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="#save(java.io.OutputStream,java.lang.String,org.eclipse.jetty.server.session.SessionData)" class="member-name-link">save</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link">OutputStream</a>&nbsp;os,
<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="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Save the session data.</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="#setDeleteUnrestorableFiles(boolean)" class="member-name-link">setDeleteUnrestorableFiles</a><wbr>(boolean&nbsp;deleteUnrestorableFiles)</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="#setStoreDir(java.io.File)" class="member-name-link">setStoreDir</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html" title="class or interface in java.io" class="external-link">File</a>&nbsp;storeDir)</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 void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#sweepDisk(long)" class="member-name-link">sweepDisk</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">Check all session files for any context and remove any
that expired at or before the time limit.</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="#sweepFile(long,java.nio.file.Path)" class="member-name-link">sweepFile</a><wbr>(long&nbsp;time,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/Path.html" title="class or interface in java.nio.file" class="external-link">Path</a>&nbsp;p)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Delete file (from any context) that expired at or before the given time</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/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="AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></h3>
<code><a href="AbstractSessionDataStore.html#checkStarted()">checkStarted</a>, <a href="AbstractSessionDataStore.html#cleanOrphans(long)">cleanOrphans</a>, <a href="AbstractSessionDataStore.html#exists(java.lang.String)">exists</a>, <a href="AbstractSessionDataStore.html#getExpired(java.util.Set)">getExpired</a>, <a href="AbstractSessionDataStore.html#getGracePeriodSec()">getGracePeriodSec</a>, <a href="AbstractSessionDataStore.html#getSavePeriodSec()">getSavePeriodSec</a>, <a href="AbstractSessionDataStore.html#load(java.lang.String)">load</a>, <a href="AbstractSessionDataStore.html#newSessionData(java.lang.String,long,long,long,long)">newSessionData</a>, <a href="AbstractSessionDataStore.html#setGracePeriodSec(int)">setGracePeriodSec</a>, <a href="AbstractSessionDataStore.html#setSavePeriodSec(int)">setSavePeriodSec</a>, <a href="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="_storeDir">
<h3>_storeDir</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/io/File.html" title="class or interface in java.io" class="external-link">File</a></span>&nbsp;<span class="element-name">_storeDir</span></div>
</section>
</li>
<li>
<section class="detail" id="_deleteUnrestorableFiles">
<h3>_deleteUnrestorableFiles</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">_deleteUnrestorableFiles</span></div>
</section>
</li>
<li>
<section class="detail" id="_sessionFileMap">
<h3>_sessionFileMap</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/Map.html" title="class or interface in java.util" class="external-link">Map</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>,<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>&gt;</span>&nbsp;<span class="element-name">_sessionFileMap</span></div>
</section>
</li>
<li>
<section class="detail" id="_contextString">
<h3>_contextString</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/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">_contextString</span></div>
</section>
</li>
<li>
<section class="detail" id="_lastSweepTime">
<h3>_lastSweepTime</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">_lastSweepTime</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>FileSessionDataStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">FileSessionDataStore</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="initialize(org.eclipse.jetty.server.session.SessionContext)">
<h3>initialize</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">initialize</span><wbr><span class="parameters">(<a href="SessionContext.html" title="class in org.eclipse.jetty.server.session">SessionContext</a>&nbsp;context)</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="SessionDataMap.html#initialize(org.eclipse.jetty.server.session.SessionContext)">SessionDataMap</a></code></span></div>
<div class="block">Initialize this data map for the
given context. A SessionDataMap can only
be used by one context(/session manager).</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="SessionDataMap.html#initialize(org.eclipse.jetty.server.session.SessionContext)">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="SessionDataMap.html" title="interface in org.eclipse.jetty.server.session">SessionDataMap</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="AbstractSessionDataStore.html#initialize(org.eclipse.jetty.server.session.SessionContext)">initialize</a></code>&nbsp;in class&nbsp;<code><a href="AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>context</code> - context associated</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 initialize the</dd>
</dl>
</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="AbstractSessionDataStore.html#doStart()">doStart</a></code>&nbsp;in class&nbsp;<code><a href="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="getStoreDir()">
<h3>getStoreDir</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>="dir where sessions are stored",
<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/io/File.html" title="class or interface in java.io" class="external-link">File</a></span>&nbsp;<span class="element-name">getStoreDir</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setStoreDir(java.io.File)">
<h3>setStoreDir</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setStoreDir</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/File.html" title="class or interface in java.io" class="external-link">File</a>&nbsp;storeDir)</span></div>
</section>
</li>
<li>
<section class="detail" id="isDeleteUnrestorableFiles()">
<h3>isDeleteUnrestorableFiles</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isDeleteUnrestorableFiles</span>()</div>
</section>
</li>
<li>
<section class="detail" id="setDeleteUnrestorableFiles(boolean)">
<h3>setDeleteUnrestorableFiles</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setDeleteUnrestorableFiles</span><wbr><span class="parameters">(boolean&nbsp;deleteUnrestorableFiles)</span></div>
</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">Delete a session</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>id</code> - session id</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="deleteFile(java.lang.String)">
<h3>deleteFile</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">deleteFile</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;filename)</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">Delete the file associated with a session</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>filename</code> - name of the file containing the session's information</dd>
<dt>Returns:</dt>
<dd>true if file was deleted, 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> - indicating delete failure</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">Check to see which sessions have expired.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="AbstractSessionDataStore.html#doCheckExpired(java.util.Set,long)">doCheckExpired</a></code>&nbsp;in class&nbsp;<code><a href="AbstractSessionDataStore.html" title="class in org.eclipse.jetty.server.session">AbstractSessionDataStore</a></code></dd>
<dt>Parameters:</dt>
<dd><code>candidates</code> - the set of session ids that the SessionCache believes
have expired</dd>
<dd><code>time</code> - the time at which to check for expiry</dd>
<dt>Returns:</dt>
<dd>the complete set of sessions that have expired, including those
that are not currently loaded into the SessionCache</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;timeLimit)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="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="AbstractSessionDataStore.html#doGetExpired(long)">doGetExpired</a></code>&nbsp;in class&nbsp;<code><a href="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 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;time)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="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="AbstractSessionDataStore.html#doCleanOrphans(long)">doCleanOrphans</a></code>&nbsp;in class&nbsp;<code><a href="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 the expiry time to check in msec</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="sweepDisk(long)">
<h3>sweepDisk</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">sweepDisk</span><wbr><span class="parameters">(long&nbsp;time)</span></div>
<div class="block">Check all session files for any context and remove any
that expired at or before the time limit.</div>
</section>
</li>
<li>
<section class="detail" id="sweepFile(long,java.nio.file.Path)">
<h3>sweepFile</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">sweepFile</span><wbr><span class="parameters">(long&nbsp;time,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/file/Path.html" title="class or interface in java.nio.file" class="external-link">Path</a>&nbsp;p)</span></div>
<div class="block">Delete file (from any context) that expired at or before the given time</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>time</code> - the time in msec</dd>
<dd><code>p</code> - the file to check</dd>
</dl>
</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="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="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="AbstractSessionDataStore.html#doLoad(java.lang.String)">doLoad</a></code>&nbsp;in class&nbsp;<code><a href="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="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="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="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="AbstractSessionDataStore.html#doStore(java.lang.String,org.eclipse.jetty.server.session.SessionData,long)">doStore</a></code>&nbsp;in class&nbsp;<code><a href="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="initializeStore()">
<h3>initializeStore</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">initializeStore</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">Read the names of the existing session files and build a map of
fully qualified session ids (ie with context) to filename. If there
is more than one file for the same session, only the most recently modified will
be kept and the rest deleted. At the same time, any files - for any context -
that expired a long time ago will be cleaned up.</div>
<dl class="notes">
<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 storeDir doesn't exist, isn't readable/writeable
or contains 2 files with the same lastmodify time for the same session. Throws IOException
if the lastmodifytimes can't be read.</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>="are sessions serialized by this store",
<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="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="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="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="AbstractSessionDataStore.html#doExists(java.lang.String)">doExists</a></code>&nbsp;in class&nbsp;<code><a href="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="save(java.io.OutputStream,java.lang.String,org.eclipse.jetty.server.session.SessionData)">
<h3>save</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">save</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link">OutputStream</a>&nbsp;os,
<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="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="block">Save the session data.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>os</code> - the output stream to save to</dd>
<dd><code>id</code> - identity of the session</dd>
<dd><code>data</code> - the info of the session</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIdWithContext(java.lang.String)">
<h3>getIdWithContext</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/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getIdWithContext</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></div>
<div class="block">Get the session id with its context.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>id</code> - identity of session</dd>
<dt>Returns:</dt>
<dd>the session id plus context</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIdWithContextAndExpiry(org.eclipse.jetty.server.session.SessionData)">
<h3>getIdWithContextAndExpiry</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/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getIdWithContextAndExpiry</span><wbr><span class="parameters">(<a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a>&nbsp;data)</span></div>
<div class="block">Get the session id with its context and its expiry time</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>data</code> - the session data</dd>
<dt>Returns:</dt>
<dd>the session id plus context and expiry</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIdFromFilename(java.lang.String)">
<h3>getIdFromFilename</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/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getIdFromFilename</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;filename)</span></div>
</section>
</li>
<li>
<section class="detail" id="getExpiryFromFilename(java.lang.String)">
<h3>getExpiryFromFilename</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">getExpiryFromFilename</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;filename)</span></div>
</section>
</li>
<li>
<section class="detail" id="getContextFromFilename(java.lang.String)">
<h3>getContextFromFilename</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/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getContextFromFilename</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;filename)</span></div>
</section>
</li>
<li>
<section class="detail" id="getIdWithContextFromFilename(java.lang.String)">
<h3>getIdWithContextFromFilename</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/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getIdWithContextFromFilename</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;filename)</span></div>
<div class="block">Extract the session id and context from the filename</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>filename</code> - the name of the file to use</dd>
<dt>Returns:</dt>
<dd>the session id plus context</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isSessionFilename(java.lang.String)">
<h3>isSessionFilename</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isSessionFilename</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;filename)</span></div>
<div class="block">Check if the filename is a session filename.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>filename</code> - the filename to check</dd>
<dt>Returns:</dt>
<dd>true if the filename has the correct filename format</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isOurContextSessionFilename(java.lang.String)">
<h3>isOurContextSessionFilename</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isOurContextSessionFilename</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;filename)</span></div>
<div class="block">Check if the filename matches our session pattern
and is a session for our context.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>filename</code> - the filename to check</dd>
<dt>Returns:</dt>
<dd>true if the filename has the correct filename format and is for this context</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="load(java.io.InputStream,java.lang.String)">
<h3>load</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="SessionData.html" title="class in org.eclipse.jetty.server.session">SessionData</a></span>&nbsp;<span class="element-name">load</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io" class="external-link">InputStream</a>&nbsp;is,
<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;expectedId)</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">Load the session data from a file.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>is</code> - file input stream containing session data</dd>
<dd><code>expectedId</code> - the id we've been told to load</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></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="AbstractSessionDataStore.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="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>