Author: remm
Date: Mon Oct 12 12:36:08 2026
New Revision: 1939057

Log:
Javadoc update for 9.0.123 part 2

Added:
   
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/storeconfig/XMLFormatPreserver.html
   
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/util/SessionComparators.html
   
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/jasper/compiler/Node.PageTerminationGenerator.html
   
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/util/http/parser/AcceptLanguage2.html

Added: 
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/storeconfig/XMLFormatPreserver.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/storeconfig/XMLFormatPreserver.html
   Mon Oct 12 12:36:08 2026        (r1939057)
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (25) -->
+<title>XMLFormatPreserver (Apache Tomcat 9.0.123 API Documentation)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="declaration: package: 
org.apache.catalina.storeconfig, class: XMLFormatPreserver">
+<meta name="generator" content="javadoc/ClassWriter">
+<link rel="stylesheet" type="text/css" 
href="../../../../resource-files/jquery-ui.min.css">
+<link rel="stylesheet" type="text/css" 
href="../../../../resource-files/stylesheet.css">
+<script type="text/javascript" 
src="../../../../script-files/script.js"></script>
+<script type="text/javascript" 
src="../../../../script-files/jquery-3.7.1.min.js"></script>
+<script type="text/javascript" 
src="../../../../script-files/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">const pathtoroot = "../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="nav-content">
+<div class="nav-menu-button"><button id="navbar-toggle-button" 
aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation 
links"><span class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span></button></div>
+<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 class="nav-bar-cell1-rev">Class</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="../../../../search.html">Search</a></li>
+<li><a href="../../../../help-doc.html#class">Help</a></li>
+</ul>
+<div class="about-language"><b>Apache Tomcat<sup>®</sup> 9.0.123</b></div>
+</div>
+</div>
+<div class="sub-nav">
+<div class="nav-content">
+<ol class="sub-nav-list">
+<li><a href="package-summary.html">org.apache.catalina.storeconfig</a></li>
+<li><a href="XMLFormatPreserver.html" 
class="current-selection">XMLFormatPreserver</a></li>
+</ol>
+<div class="nav-list-search"><input type="text" id="search-input" disabled 
placeholder="Search documentation (type /)" aria-label="Search in 
documentation" autocomplete="off" spellcheck="false"><input type="reset" 
id="reset-search" disabled value="Reset"></div>
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="main-grid">
+<nav role="navigation" class="toc" aria-label="Table of contents">
+<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" 
disabled placeholder="Filter contents (type .)" aria-label="Filter table of 
contents" autocomplete="off" spellcheck="false"><input type="reset" 
class="reset-filter" disabled tabindex="-1" value="Reset"></div>
+<ol class="toc-list" tabindex="-1">
+<li><a href="#" tabindex="0">Description</a></li>
+<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
+<li><a href="#method-detail" tabindex="0">Method Details</a>
+<ol class="toc-list">
+<li><a href="#preserve(java.io.File,java.lang.String,java.lang.String)" 
tabindex="0">preserve(File, String, String)</a></li>
+<li><a href="#preserve(java.lang.String,java.lang.String,java.lang.String)" 
tabindex="0">preserve(String, String, String)</a></li>
+</ol>
+</li>
+</ol>
+<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img 
src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button 
class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show 
sidebar"><span>&nbsp;Show sidebar</span></button></nav>
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<h1 title="Class XMLFormatPreserver" class="title">Class 
XMLFormatPreserver</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">org.apache.catalina.storeconfig.XMLFormatPreserver</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="horizontal-scroll">
+<div class="type-signature"><span class="modifiers">public final class 
</span><span class="element-name type-name-label">XMLFormatPreserver</span>
+<span class="extends-implements">extends <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></span></div>
+<div class="block">Best-effort preservation of the original layout (comments, 
blank lines and attribute order) of <code>server.xml</code>
+and context configuration files when StoreConfig rewrites them.
+<p>
+The freshly generated XML is always the source of truth for the content. Both 
the previous version and the freshly
+generated version are parsed, the elements of both documents are matched and 
the freshly generated document is
+re-serialized using the layout of the previous version.
+<p>
+The preservation is best-effort. Whenever the previous version is missing, 
cannot be parsed, or the result cannot
+be verified, the freshly generated XML is returned unchanged.</div>
+</div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ========== 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-tab1" role="tab" 
aria-selected="false" aria-controls="method-summary-table.tabpanel" 
tabindex="-1" onkeydown="switchTab(event)" 
onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" 
class="table-tab">Static 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" 
aria-labelledby="method-summary-table-tab0">
+<div class="summary-table three-column-summary">
+<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-tab1 method-summary-table-tab4"><code>static <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-tab1 method-summary-table-tab4"><code><a 
href="#preserve(java.io.File,java.lang.String,java.lang.String)" 
class="member-name-link">preserve</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;originalFile,
+ <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;newXml,
+ <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;encoding)</code></div>
+<div class="col-last even-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Preserves the layout of the previous version of a 
configuration file for the freshly generated XML.</div>
+</div>
+<div class="col-first odd-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4"><code>static <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-tab1 method-summary-table-tab4"><code><a 
href="#preserve(java.lang.String,java.lang.String,java.lang.String)" 
class="member-name-link">preserve</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;originalXml,
+ <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;newXml,
+ <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;encoding)</code></div>
+<div class="col-last odd-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Preserves the layout of the previous version of an XML 
document for the freshly generated XML.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from 
class&nbsp;<a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#method-summary";
 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/Objec
 t.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#toString()"
 title="class or interface in java.lang" class="external-link">toString</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>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" 
id="preserve(java.io.File,java.lang.String,java.lang.String)">
+<h3>preserve</h3>
+<div class="horizontal-scroll">
+<div class="member-signature"><span class="modifiers">public 
static</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">preserve</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;originalFile,
+ <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;newXml,
+ <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;encoding)</span></div>
+<div class="block">Preserves the layout of the previous version of a 
configuration file for the freshly generated XML.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>originalFile</code> - The previous version of the configuration 
file, may be <code>null</code></dd>
+<dd><code>newXml</code> - The freshly generated XML</dd>
+<dd><code>encoding</code> - The character encoding of the configuration 
file</dd>
+<dt>Returns:</dt>
+<dd>The freshly generated XML, re-laid-out using the previous version when 
possible, otherwise the freshly
+        generated XML unchanged</dd>
+</dl>
+</div>
+</section>
+</li>
+<li>
+<section class="detail" 
id="preserve(java.lang.String,java.lang.String,java.lang.String)">
+<h3>preserve</h3>
+<div class="horizontal-scroll">
+<div class="member-signature"><span class="modifiers">public 
static</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">preserve</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;originalXml,
+ <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;newXml,
+ <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;encoding)</span></div>
+<div class="block">Preserves the layout of the previous version of an XML 
document for the freshly generated XML.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>originalXml</code> - The previous version of the XML document, may 
be <code>null</code></dd>
+<dd><code>newXml</code> - The freshly generated XML</dd>
+<dd><code>encoding</code> - The character encoding used in the XML declaration 
of the result</dd>
+<dt>Returns:</dt>
+<dd>The freshly generated XML, re-laid-out using the previous version when 
possible, otherwise the freshly
+        generated XML unchanged</dd>
+</dl>
+</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+<footer>
+<hr>
+<p class="legal-copy"><small>Copyright &#169; 2000-2026 Apache Software 
Foundation.               <br/>               Apache Tomcat, Tomcat, Apache, 
the Apache Tomcat logo and the Apache logo are either registered trademarks     
          or trademarks of the Apache Software Foundation.</small></p>
+</footer>
+</main>
+</div>
+</body>
+</html>

Added: 
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/util/SessionComparators.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/catalina/util/SessionComparators.html
  Mon Oct 12 12:36:08 2026        (r1939057)
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (25) -->
+<title>SessionComparators (Apache Tomcat 9.0.123 API Documentation)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="declaration: package: 
org.apache.catalina.util, class: SessionComparators">
+<meta name="generator" content="javadoc/ClassWriter">
+<link rel="stylesheet" type="text/css" 
href="../../../../resource-files/jquery-ui.min.css">
+<link rel="stylesheet" type="text/css" 
href="../../../../resource-files/stylesheet.css">
+<script type="text/javascript" 
src="../../../../script-files/script.js"></script>
+<script type="text/javascript" 
src="../../../../script-files/jquery-3.7.1.min.js"></script>
+<script type="text/javascript" 
src="../../../../script-files/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">const pathtoroot = "../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="nav-content">
+<div class="nav-menu-button"><button id="navbar-toggle-button" 
aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation 
links"><span class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span></button></div>
+<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 class="nav-bar-cell1-rev">Class</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="../../../../search.html">Search</a></li>
+<li><a href="../../../../help-doc.html#class">Help</a></li>
+</ul>
+<div class="about-language"><b>Apache Tomcat<sup>®</sup> 9.0.123</b></div>
+</div>
+</div>
+<div class="sub-nav">
+<div class="nav-content">
+<ol class="sub-nav-list">
+<li><a href="package-summary.html">org.apache.catalina.util</a></li>
+<li><a href="SessionComparators.html" 
class="current-selection">SessionComparators</a></li>
+</ol>
+<div class="nav-list-search"><input type="text" id="search-input" disabled 
placeholder="Search documentation (type /)" aria-label="Search in 
documentation" autocomplete="off" spellcheck="false"><input type="reset" 
id="reset-search" disabled value="Reset"></div>
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="main-grid">
+<nav role="navigation" class="toc" aria-label="Table of contents">
+<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" 
disabled placeholder="Filter contents (type .)" aria-label="Filter table of 
contents" autocomplete="off" spellcheck="false"><input type="reset" 
class="reset-filter" disabled tabindex="-1" value="Reset"></div>
+<ol class="toc-list" tabindex="-1">
+<li><a href="#" tabindex="0">Description</a></li>
+<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
+<li><a href="#method-detail" tabindex="0">Method Details</a>
+<ol class="toc-list">
+<li><a href="#comparingLongSnapshot(java.util.function.ToLongFunction)" 
tabindex="0">comparingLongSnapshot(ToLongFunction)</a></li>
+</ol>
+</li>
+</ol>
+<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img 
src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button 
class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show 
sidebar"><span>&nbsp;Show sidebar</span></button></nav>
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<h1 title="Class SessionComparators" class="title">Class 
SessionComparators</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">org.apache.catalina.util.SessionComparators</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="horizontal-scroll">
+<div class="type-signature"><span class="modifiers">public class </span><span 
class="element-name type-name-label">SessionComparators</span>
+<span class="extends-implements">extends <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></span></div>
+<div class="block">Utility class for building <a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Comparator.html";
 title="class or interface in java.util" 
class="external-link"><code>Comparator</code></a>s over <a 
href="../Session.html" title="interface in 
org.apache.catalina"><code>Session</code></a>s.</div>
+</div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ========== 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-tab1" role="tab" 
aria-selected="false" aria-controls="method-summary-table.tabpanel" 
tabindex="-1" onkeydown="switchTab(event)" 
onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" 
class="table-tab">Static 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" 
aria-labelledby="method-summary-table-tab0">
+<div class="summary-table three-column-summary">
+<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-tab1 method-summary-table-tab4"><code>static <a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Comparator.html";
 title="class or interface in java.util" 
class="external-link">Comparator</a><wbr>&lt;<a href="../Session.html" 
title="interface in org.apache.catalina">Session</a>&gt;</code></div>
+<div class="col-second even-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4"><code><a 
href="#comparingLongSnapshot(java.util.function.ToLongFunction)" 
class="member-name-link">comparingLongSnapshot</a><wbr>(<a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/ToLongFunction.html";
 title="class or interface in java.util.function" 
class="external-link">ToLongFunction</a>&lt;<a href="../Session.html" 
title="interface in 
org.apache.catalina">Session</a>&gt;&nbsp;keyExtractor)</code></div>
+<div class="col-last even-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Builds a <a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Comparator.html";
 title="class or interface in java.util" 
class="external-link"><code>Comparator</code></a> equivalent to <a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Comparator.html#comparingLong(java.util.function.ToLongFunction)"
 title="class or interface in java.util" 
class="external-link"><code>Comparator.comparingLong(ToLongFunction)</code></a>,
 except that each
+session's extracted value is only read once and then cached for the remainder 
of the sort.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from 
class&nbsp;<a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#method-summary";
 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/Objec
 t.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#toString()"
 title="class or interface in java.lang" class="external-link">toString</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>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" 
id="comparingLongSnapshot(java.util.function.ToLongFunction)">
+<h3>comparingLongSnapshot</h3>
+<div class="horizontal-scroll">
+<div class="member-signature"><span class="modifiers">public 
static</span>&nbsp;<span class="return-type"><a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Comparator.html";
 title="class or interface in java.util" 
class="external-link">Comparator</a>&lt;<a href="../Session.html" 
title="interface in org.apache.catalina">Session</a>&gt;</span>&nbsp;<span 
class="element-name">comparingLongSnapshot</span><wbr><span 
class="parameters">(<a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/ToLongFunction.html";
 title="class or interface in java.util.function" 
class="external-link">ToLongFunction</a>&lt;<a href="../Session.html" 
title="interface in 
org.apache.catalina">Session</a>&gt;&nbsp;keyExtractor)</span></div>
+<div class="block">Builds a <a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Comparator.html";
 title="class or interface in java.util" 
class="external-link"><code>Comparator</code></a> equivalent to <a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Comparator.html#comparingLong(java.util.function.ToLongFunction)"
 title="class or interface in java.util" 
class="external-link"><code>Comparator.comparingLong(ToLongFunction)</code></a>,
 except that each
+session's extracted value is only read once and then cached for the remainder 
of the sort. Some values used to
+sort sessions (e.g. last accessed time, or values derived from the current 
time) can change while a sort is in
+progress, either because the session is concurrently accessed or simply 
because time passes. Without caching,
+that can make the comparator return inconsistent results for the same pair of 
sessions across different
+comparisons in the same sort, which trips <code>java.util.TimSort</code>'s 
consistency check.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>keyExtractor</code> - Function that extracts the sort key from a 
session</dd>
+<dt>Returns:</dt>
+<dd>a comparator that sorts sessions by the (cached) extracted key</dd>
+</dl>
+</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+<footer>
+<hr>
+<p class="legal-copy"><small>Copyright &#169; 2000-2026 Apache Software 
Foundation.               <br/>               Apache Tomcat, Tomcat, Apache, 
the Apache Tomcat logo and the Apache logo are either registered trademarks     
          or trademarks of the Apache Software Foundation.</small></p>
+</footer>
+</main>
+</div>
+</body>
+</html>

Added: 
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/jasper/compiler/Node.PageTerminationGenerator.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/jasper/compiler/Node.PageTerminationGenerator.html
     Mon Oct 12 12:36:08 2026        (r1939057)
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (25) -->
+<title>Node.PageTerminationGenerator (Apache Tomcat 9.0.123 API 
Documentation)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="declaration: package: 
org.apache.jasper.compiler, class: Node, class: PageTerminationGenerator">
+<meta name="generator" content="javadoc/ClassWriter">
+<link rel="stylesheet" type="text/css" 
href="../../../../resource-files/jquery-ui.min.css">
+<link rel="stylesheet" type="text/css" 
href="../../../../resource-files/stylesheet.css">
+<script type="text/javascript" 
src="../../../../script-files/script.js"></script>
+<script type="text/javascript" 
src="../../../../script-files/jquery-3.7.1.min.js"></script>
+<script type="text/javascript" 
src="../../../../script-files/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">const pathtoroot = "../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="nav-content">
+<div class="nav-menu-button"><button id="navbar-toggle-button" 
aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation 
links"><span class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span></button></div>
+<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 class="nav-bar-cell1-rev">Class</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="../../../../search.html">Search</a></li>
+<li><a href="../../../../help-doc.html#class">Help</a></li>
+</ul>
+<div class="about-language"><b>Apache Tomcat<sup>®</sup> 9.0.123</b></div>
+</div>
+</div>
+<div class="sub-nav">
+<div class="nav-content">
+<ol class="sub-nav-list">
+<li><a href="package-summary.html">org.apache.jasper.compiler</a></li>
+<li><a href="Node.html">Node</a></li>
+<li><a href="Node.PageTerminationGenerator.html" 
class="current-selection">PageTerminationGenerator</a></li>
+</ol>
+<div class="nav-list-search"><input type="text" id="search-input" disabled 
placeholder="Search documentation (type /)" aria-label="Search in 
documentation" autocomplete="off" spellcheck="false"><input type="reset" 
id="reset-search" disabled value="Reset"></div>
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="main-grid">
+<nav role="navigation" class="toc" aria-label="Table of contents">
+<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" 
disabled placeholder="Filter contents (type .)" aria-label="Filter table of 
contents" autocomplete="off" spellcheck="false"><input type="reset" 
class="reset-filter" disabled tabindex="-1" value="Reset"></div>
+<ol class="toc-list" tabindex="-1">
+<li><a href="#" tabindex="0">Description</a></li>
+<li><a href="#nested-class-summary" tabindex="0">Nested Class Summary</a></li>
+<li><a href="#field-summary" tabindex="0">Field Summary</a></li>
+<li><a href="#constructor-summary" tabindex="0">Constructor Summary</a></li>
+<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
+<li><a href="#constructor-detail" tabindex="0">Constructor Details</a>
+<ol class="toc-list">
+<li><a href="#%3Cinit%3E()" tabindex="0">PageTerminationGenerator()</a></li>
+</ol>
+</li>
+</ol>
+<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img 
src="../../../../resource-files/left.svg" alt="Hide sidebar"></button><button 
class="show-sidebar"><img src="../../../../resource-files/right.svg" alt="Show 
sidebar"><span>&nbsp;Show sidebar</span></button></nav>
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<h1 title="Class Node.PageTerminationGenerator" class="title">Class 
Node.PageTerminationGenerator</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="Node.html" title="class in 
org.apache.jasper.compiler">org.apache.jasper.compiler.Node</a>
+<div 
class="inheritance">org.apache.jasper.compiler.Node.PageTerminationGenerator</div>
+</div>
+</div>
+<section class="class-description" id="class-description">
+<dl class="notes">
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="TagConstants.html" title="interface in 
org.apache.jasper.compiler">TagConstants</a></code></dd>
+</dl>
+<dl class="notes">
+<dt>Enclosing class:</dt>
+<dd><code><a href="Node.html" title="class in 
org.apache.jasper.compiler">Node</a></code></dd>
+</dl>
+<hr>
+<div class="horizontal-scroll">
+<div class="type-signature"><span class="modifiers">public static class 
</span><span class="element-name 
type-name-label">Node.PageTerminationGenerator</span>
+<span class="extends-implements">extends <a href="Node.html" title="class in 
org.apache.jasper.compiler">Node</a></span></div>
+<div class="block">Used as a placeholder for the insertion of page termination 
code (used by the tag plugin machinery only).</div>
+</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">
+<h3 
id="nested-classes-inherited-from-class-org.apache.jasper.compiler.Node">Nested 
classes/interfaces inherited from class&nbsp;<a 
href="Node.html#nested-class-summary" title="class in 
org.apache.jasper.compiler">Node</a></h3>
+<code><a href="Node.AttributeDirective.html" title="class in 
org.apache.jasper.compiler">Node.AttributeDirective</a>, <a 
href="Node.AttributeGenerator.html" title="class in 
org.apache.jasper.compiler">Node.AttributeGenerator</a>, <a 
href="Node.ChildInfo.html" title="class in 
org.apache.jasper.compiler">Node.ChildInfo</a>, <a 
href="Node.ChildInfoBase.html" title="class in 
org.apache.jasper.compiler">Node.ChildInfoBase</a>, <a href="Node.Comment.html" 
title="class in org.apache.jasper.compiler">Node.Comment</a>, <a 
href="Node.CustomTag.html" title="class in 
org.apache.jasper.compiler">Node.CustomTag</a>, <a href="Node.Declaration.html" 
title="class in org.apache.jasper.compiler">Node.Declaration</a>, <a 
href="Node.DoBodyAction.html" title="class in 
org.apache.jasper.compiler">Node.DoBodyAction</a>, <a 
href="Node.ELExpression.html" title="class in 
org.apache.jasper.compiler">Node.ELExpression</a>, <a 
href="Node.Expression.html" title="class in 
org.apache.jasper.compiler">Node.Expressio
 n</a>, <a href="Node.FallBackAction.html" title="class in 
org.apache.jasper.compiler">Node.FallBackAction</a>, <a 
href="Node.ForwardAction.html" title="class in 
org.apache.jasper.compiler">Node.ForwardAction</a>, <a 
href="Node.GetProperty.html" title="class in 
org.apache.jasper.compiler">Node.GetProperty</a>, <a 
href="Node.IncludeAction.html" title="class in 
org.apache.jasper.compiler">Node.IncludeAction</a>, <a 
href="Node.IncludeDirective.html" title="class in 
org.apache.jasper.compiler">Node.IncludeDirective</a>, <a 
href="Node.InvokeAction.html" title="class in 
org.apache.jasper.compiler">Node.InvokeAction</a>, <a 
href="Node.JspAttribute.html" title="class in 
org.apache.jasper.compiler">Node.JspAttribute</a>, <a href="Node.JspBody.html" 
title="class in org.apache.jasper.compiler">Node.JspBody</a>, <a 
href="Node.JspElement.html" title="class in 
org.apache.jasper.compiler">Node.JspElement</a>, <a href="Node.JspOutput.html" 
title="class in org.apache.jasper.compiler">Node.JspOutput</
 a>, <a href="Node.JspRoot.html" title="class in 
org.apache.jasper.compiler">Node.JspRoot</a>, <a href="Node.JspText.html" 
title="class in org.apache.jasper.compiler">Node.JspText</a>, <a 
href="Node.NamedAttribute.html" title="class in 
org.apache.jasper.compiler">Node.NamedAttribute</a>, <a href="Node.Nodes.html" 
title="class in org.apache.jasper.compiler">Node.Nodes</a>, <a 
href="Node.PageDirective.html" title="class in 
org.apache.jasper.compiler">Node.PageDirective</a>, <a 
href="Node.PageTerminationGenerator.html" title="class in 
org.apache.jasper.compiler">Node.PageTerminationGenerator</a>, <a 
href="Node.ParamAction.html" title="class in 
org.apache.jasper.compiler">Node.ParamAction</a>, <a 
href="Node.ParamsAction.html" title="class in 
org.apache.jasper.compiler">Node.ParamsAction</a>, <a href="Node.PlugIn.html" 
title="class in org.apache.jasper.compiler">Node.PlugIn</a>, <a 
href="Node.Root.html" title="class in 
org.apache.jasper.compiler">Node.Root</a>, <a href="Node.ScriptingElem
 ent.html" title="class in 
org.apache.jasper.compiler">Node.ScriptingElement</a>, <a 
href="Node.Scriptlet.html" title="class in 
org.apache.jasper.compiler">Node.Scriptlet</a>, <a href="Node.SetProperty.html" 
title="class in org.apache.jasper.compiler">Node.SetProperty</a>, <a 
href="Node.TagDirective.html" title="class in 
org.apache.jasper.compiler">Node.TagDirective</a>, <a 
href="Node.TaglibDirective.html" title="class in 
org.apache.jasper.compiler">Node.TaglibDirective</a>, <a 
href="Node.TemplateText.html" title="class in 
org.apache.jasper.compiler">Node.TemplateText</a>, <a 
href="Node.UninterpretedTag.html" title="class in 
org.apache.jasper.compiler">Node.UninterpretedTag</a>, <a 
href="Node.UseBean.html" title="class in 
org.apache.jasper.compiler">Node.UseBean</a>, <a 
href="Node.VariableDirective.html" title="class in 
org.apache.jasper.compiler">Node.VariableDirective</a>, <a 
href="Node.Visitor.html" title="class in 
org.apache.jasper.compiler">Node.Visitor</a></code></div>
+</section>
+</li>
+<!-- =========== FIELD SUMMARY =========== -->
+<li>
+<section class="field-summary" id="field-summary">
+<h2>Field Summary</h2>
+<div class="inherited-list">
+<h3 id="fields-inherited-from-class-org.apache.jasper.compiler.Node">Fields 
inherited from class&nbsp;<a href="Node.html#field-summary" title="class in 
org.apache.jasper.compiler">Node</a></h3>
+<code><a href="Node.html#attrs">attrs</a>, <a 
href="Node.html#beginJavaLine">beginJavaLine</a>, <a 
href="Node.html#body">body</a>, <a 
href="Node.html#endJavaLine">endJavaLine</a>, <a 
href="Node.html#innerClassName">innerClassName</a>, <a 
href="Node.html#localName">localName</a>, <a 
href="Node.html#namedAttributeNodes">namedAttributeNodes</a>, <a 
href="Node.html#nonTaglibXmlnsAttrs">nonTaglibXmlnsAttrs</a>, <a 
href="Node.html#parent">parent</a>, <a href="Node.html#qName">qName</a>, <a 
href="Node.html#startMark">startMark</a>, <a 
href="Node.html#taglibAttrs">taglibAttrs</a>, <a 
href="Node.html#text">text</a></code></div>
+<div class="inherited-list">
+<h3 
id="fields-inherited-from-class-org.apache.jasper.compiler.TagConstants">Fields 
inherited from interface&nbsp;<a href="TagConstants.html#field-summary" 
title="interface in org.apache.jasper.compiler">TagConstants</a></h3>
+<code><a href="TagConstants.html#ATTRIBUTE_ACTION">ATTRIBUTE_ACTION</a>, <a 
href="TagConstants.html#ATTRIBUTE_DIRECTIVE_ACTION">ATTRIBUTE_DIRECTIVE_ACTION</a>,
 <a href="TagConstants.html#BODY_ACTION">BODY_ACTION</a>, <a 
href="TagConstants.html#DECLARATION_ACTION">DECLARATION_ACTION</a>, <a 
href="TagConstants.html#DIRECTIVE_ACTION">DIRECTIVE_ACTION</a>, <a 
href="TagConstants.html#DOBODY_ACTION">DOBODY_ACTION</a>, <a 
href="TagConstants.html#ELEMENT_ACTION">ELEMENT_ACTION</a>, <a 
href="TagConstants.html#EXPRESSION_ACTION">EXPRESSION_ACTION</a>, <a 
href="TagConstants.html#FALLBACK_ACTION">FALLBACK_ACTION</a>, <a 
href="TagConstants.html#FORWARD_ACTION">FORWARD_ACTION</a>, <a 
href="TagConstants.html#GET_PROPERTY_ACTION">GET_PROPERTY_ACTION</a>, <a 
href="TagConstants.html#INCLUDE_ACTION">INCLUDE_ACTION</a>, <a 
href="TagConstants.html#INCLUDE_DIRECTIVE_ACTION">INCLUDE_DIRECTIVE_ACTION</a>, 
<a href="TagConstants.html#INVOKE_ACTION">INVOKE_ACTION</a>, <a 
href="TagConstants.html#JSP_ATTRIBUTE_
 ACTION">JSP_ATTRIBUTE_ACTION</a>, <a 
href="TagConstants.html#JSP_ATTRIBUTE_DIRECTIVE_ACTION">JSP_ATTRIBUTE_DIRECTIVE_ACTION</a>,
 <a href="TagConstants.html#JSP_BODY_ACTION">JSP_BODY_ACTION</a>, <a 
href="TagConstants.html#JSP_DECLARATION_ACTION">JSP_DECLARATION_ACTION</a>, <a 
href="TagConstants.html#JSP_DOBODY_ACTION">JSP_DOBODY_ACTION</a>, <a 
href="TagConstants.html#JSP_ELEMENT_ACTION">JSP_ELEMENT_ACTION</a>, <a 
href="TagConstants.html#JSP_EXPRESSION_ACTION">JSP_EXPRESSION_ACTION</a>, <a 
href="TagConstants.html#JSP_FALLBACK_ACTION">JSP_FALLBACK_ACTION</a>, <a 
href="TagConstants.html#JSP_FORWARD_ACTION">JSP_FORWARD_ACTION</a>, <a 
href="TagConstants.html#JSP_GET_PROPERTY_ACTION">JSP_GET_PROPERTY_ACTION</a>, 
<a href="TagConstants.html#JSP_INCLUDE_ACTION">JSP_INCLUDE_ACTION</a>, <a 
href="TagConstants.html#JSP_INCLUDE_DIRECTIVE_ACTION">JSP_INCLUDE_DIRECTIVE_ACTION</a>,
 <a href="TagConstants.html#JSP_INVOKE_ACTION">JSP_INVOKE_ACTION</a>, <a 
href="TagConstants.html#JSP_OUTPUT_ACTION">JSP_O
 UTPUT_ACTION</a>, <a 
href="TagConstants.html#JSP_PAGE_DIRECTIVE_ACTION">JSP_PAGE_DIRECTIVE_ACTION</a>,
 <a href="TagConstants.html#JSP_PARAM_ACTION">JSP_PARAM_ACTION</a>, <a 
href="TagConstants.html#JSP_PARAMS_ACTION">JSP_PARAMS_ACTION</a>, <a 
href="TagConstants.html#JSP_PLUGIN_ACTION">JSP_PLUGIN_ACTION</a>, <a 
href="TagConstants.html#JSP_ROOT_ACTION">JSP_ROOT_ACTION</a>, <a 
href="TagConstants.html#JSP_SCRIPTLET_ACTION">JSP_SCRIPTLET_ACTION</a>, <a 
href="TagConstants.html#JSP_SET_PROPERTY_ACTION">JSP_SET_PROPERTY_ACTION</a>, 
<a 
href="TagConstants.html#JSP_TAG_DIRECTIVE_ACTION">JSP_TAG_DIRECTIVE_ACTION</a>, 
<a 
href="TagConstants.html#JSP_TAGLIB_DIRECTIVE_ACTION">JSP_TAGLIB_DIRECTIVE_ACTION</a>,
 <a href="TagConstants.html#JSP_TEXT_ACTION">JSP_TEXT_ACTION</a>, <a 
href="TagConstants.html#JSP_TEXT_ACTION_END">JSP_TEXT_ACTION_END</a>, <a 
href="TagConstants.html#JSP_URI">JSP_URI</a>, <a 
href="TagConstants.html#JSP_USE_BEAN_ACTION">JSP_USE_BEAN_ACTION</a>, <a 
href="TagConstants.html#JSP_VARIA
 BLE_DIRECTIVE_ACTION">JSP_VARIABLE_DIRECTIVE_ACTION</a>, <a 
href="TagConstants.html#OUTPUT_ACTION">OUTPUT_ACTION</a>, <a 
href="TagConstants.html#PAGE_DIRECTIVE_ACTION">PAGE_DIRECTIVE_ACTION</a>, <a 
href="TagConstants.html#PARAM_ACTION">PARAM_ACTION</a>, <a 
href="TagConstants.html#PARAMS_ACTION">PARAMS_ACTION</a>, <a 
href="TagConstants.html#PLUGIN_ACTION">PLUGIN_ACTION</a>, <a 
href="TagConstants.html#ROOT_ACTION">ROOT_ACTION</a>, <a 
href="TagConstants.html#SCRIPTLET_ACTION">SCRIPTLET_ACTION</a>, <a 
href="TagConstants.html#SET_PROPERTY_ACTION">SET_PROPERTY_ACTION</a>, <a 
href="TagConstants.html#TAG_DIRECTIVE_ACTION">TAG_DIRECTIVE_ACTION</a>, <a 
href="TagConstants.html#TAGLIB_DIRECTIVE_ACTION">TAGLIB_DIRECTIVE_ACTION</a>, 
<a href="TagConstants.html#TEXT_ACTION">TEXT_ACTION</a>, <a 
href="TagConstants.html#URN_JSPTAGDIR">URN_JSPTAGDIR</a>, <a 
href="TagConstants.html#URN_JSPTLD">URN_JSPTLD</a>, <a 
href="TagConstants.html#USE_BEAN_ACTION">USE_BEAN_ACTION</a>, <a 
href="TagConstants.html#VAR
 IABLE_DIRECTIVE_ACTION">VARIABLE_DIRECTIVE_ACTION</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">PageTerminationGenerator</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 class="inherited-list">
+<h3 id="methods-inherited-from-class-org.apache.jasper.compiler.Node">Methods 
inherited from class&nbsp;<a href="Node.html#method-summary" title="class in 
org.apache.jasper.compiler">Node</a></h3>
+<code><a href="Node.html#getAttributes()" 
title="getAttributes()">getAttributes</a>, <a 
href="Node.html#getAttributeValue(java.lang.String)" 
title="getAttributeValue(String)">getAttributeValue</a>, <a 
href="Node.html#getBeginJavaLine()" 
title="getBeginJavaLine()">getBeginJavaLine</a>, <a href="Node.html#getBody()" 
title="getBody()">getBody</a>, <a href="Node.html#getEndJavaLine()" 
title="getEndJavaLine()">getEndJavaLine</a>, <a 
href="Node.html#getInnerClassName()" 
title="getInnerClassName()">getInnerClassName</a>, <a 
href="Node.html#getLocalName()" title="getLocalName()">getLocalName</a>, <a 
href="Node.html#getNamedAttributeNode(java.lang.String)" 
title="getNamedAttributeNode(String)">getNamedAttributeNode</a>, <a 
href="Node.html#getNamedAttributeNodes()" 
title="getNamedAttributeNodes()">getNamedAttributeNodes</a>, <a 
href="Node.html#getNonTaglibXmlnsAttributes()" 
title="getNonTaglibXmlnsAttributes()">getNonTaglibXmlnsAttributes</a>, <a 
href="Node.html#getParent()" title="getParent(
 )">getParent</a>, <a href="Node.html#getQName()" 
title="getQName()">getQName</a>, <a href="Node.html#getRoot()" 
title="getRoot()">getRoot</a>, <a href="Node.html#getStart()" 
title="getStart()">getStart</a>, <a href="Node.html#getTaglibAttributes()" 
title="getTaglibAttributes()">getTaglibAttributes</a>, <a 
href="Node.html#getText()" title="getText()">getText</a>, <a 
href="Node.html#getTextAttribute(java.lang.String)" 
title="getTextAttribute(String)">getTextAttribute</a>, <a 
href="Node.html#setAttributes(org.xml.sax.Attributes)" 
title="setAttributes(Attributes)">setAttributes</a>, <a 
href="Node.html#setBeginJavaLine(int)" 
title="setBeginJavaLine(int)">setBeginJavaLine</a>, <a 
href="Node.html#setBody(org.apache.jasper.compiler.Node.Nodes)" 
title="setBody(Node.Nodes)">setBody</a>, <a 
href="Node.html#setEndJavaLine(int)" 
title="setEndJavaLine(int)">setEndJavaLine</a>, <a 
href="Node.html#setInnerClassName(java.lang.String)" 
title="setInnerClassName(String)">setInnerClassName</a></code></d
 iv>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from 
class&nbsp;<a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#method-summary";
 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/Objec
 t.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#toString()"
 title="class or interface in java.lang" class="external-link">toString</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>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ========= 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>PageTerminationGenerator</h3>
+<div class="horizontal-scroll">
+<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span 
class="element-name">PageTerminationGenerator</span>()</div>
+</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+<footer>
+<hr>
+<p class="legal-copy"><small>Copyright &#169; 2000-2026 Apache Software 
Foundation.               <br/>               Apache Tomcat, Tomcat, Apache, 
the Apache Tomcat logo and the Apache logo are either registered trademarks     
          or trademarks of the Apache Software Foundation.</small></p>
+</footer>
+</main>
+</div>
+</body>
+</html>

Added: 
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/util/http/parser/AcceptLanguage2.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ 
tomcat/site/trunk/docs/tomcat-9.0-doc/api/org/apache/tomcat/util/http/parser/AcceptLanguage2.html
   Mon Oct 12 12:36:08 2026        (r1939057)
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML>
+<html lang="en">
+<head>
+<!-- Generated by javadoc (25) -->
+<title>AcceptLanguage2 (Apache Tomcat 9.0.123 API Documentation)</title>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="declaration: package: 
org.apache.tomcat.util.http.parser, class: AcceptLanguage2">
+<meta name="generator" content="javadoc/ClassWriter">
+<link rel="stylesheet" type="text/css" 
href="../../../../../../resource-files/jquery-ui.min.css">
+<link rel="stylesheet" type="text/css" 
href="../../../../../../resource-files/stylesheet.css">
+<script type="text/javascript" 
src="../../../../../../script-files/script.js"></script>
+<script type="text/javascript" 
src="../../../../../../script-files/jquery-3.7.1.min.js"></script>
+<script type="text/javascript" 
src="../../../../../../script-files/jquery-ui.min.js"></script>
+</head>
+<body class="class-declaration-page">
+<script type="text/javascript">const pathtoroot = "../../../../../../";
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="top-nav" id="navbar-top">
+<div class="nav-content">
+<div class="nav-menu-button"><button id="navbar-toggle-button" 
aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation 
links"><span class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span><span 
class="nav-bar-toggle-icon">&nbsp;</span></button></div>
+<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 class="nav-bar-cell1-rev">Class</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="../../../../../../search.html">Search</a></li>
+<li><a href="../../../../../../help-doc.html#class">Help</a></li>
+</ul>
+<div class="about-language"><b>Apache Tomcat<sup>®</sup> 9.0.123</b></div>
+</div>
+</div>
+<div class="sub-nav">
+<div class="nav-content">
+<ol class="sub-nav-list">
+<li><a href="package-summary.html">org.apache.tomcat.util.http.parser</a></li>
+<li><a href="AcceptLanguage2.html" 
class="current-selection">AcceptLanguage2</a></li>
+</ol>
+<div class="nav-list-search"><input type="text" id="search-input" disabled 
placeholder="Search documentation (type /)" aria-label="Search in 
documentation" autocomplete="off" spellcheck="false"><input type="reset" 
id="reset-search" disabled value="Reset"></div>
+</div>
+</div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<span class="skip-nav" id="skip-navbar-top"></span></nav>
+</header>
+<div class="main-grid">
+<nav role="navigation" class="toc" aria-label="Table of contents">
+<div class="toc-header">Contents&nbsp;<input type="text" class="filter-input" 
disabled placeholder="Filter contents (type .)" aria-label="Filter table of 
contents" autocomplete="off" spellcheck="false"><input type="reset" 
class="reset-filter" disabled tabindex="-1" value="Reset"></div>
+<ol class="toc-list" tabindex="-1">
+<li><a href="#" tabindex="0">Description</a></li>
+<li><a href="#method-summary" tabindex="0">Method Summary</a></li>
+<li><a href="#method-detail" tabindex="0">Method Details</a>
+<ol class="toc-list">
+<li><a href="#parse(java.io.StringReader,int)" 
tabindex="0">parse(StringReader, int)</a></li>
+</ol>
+</li>
+</ol>
+<button class="hide-sidebar"><span>Hide sidebar&nbsp;</span><img 
src="../../../../../../resource-files/left.svg" alt="Hide 
sidebar"></button><button class="show-sidebar"><img 
src="../../../../../../resource-files/right.svg" alt="Show 
sidebar"><span>&nbsp;Show sidebar</span></button></nav>
+<main role="main">
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<h1 title="Class AcceptLanguage2" class="title">Class AcceptLanguage2</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">org.apache.tomcat.util.http.parser.AcceptLanguage2</div>
+</div>
+<section class="class-description" id="class-description">
+<hr>
+<div class="horizontal-scroll">
+<div class="type-signature"><span class="modifiers">public final class 
</span><span class="element-name type-name-label">AcceptLanguage2</span>
+<span class="extends-implements">extends <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></span></div>
+<div class="block">Parser for <a href="AcceptLanguage.html" title="class in 
org.apache.tomcat.util.http.parser"><code>AcceptLanguage</code></a> that parses 
an Accept-Language header
+value using the deprecated <a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Locale.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"
 title="class or interface in java.util" 
class="external-link"><code>Locale(String, String, String)</code></a>
+constructor, combined with a custom BCP 47 subtag parser that maps
+the language tag components onto the language/country/variant triple that
+the deprecated constructor accepts. This is done for better efficiency.
+<p>
+Known, accepted degradations compared with
+<code>Locale.forLanguageTag()</code>:
+<ul>
+  <li>Unicode, other and private use extensions (e.g. 
<code>-u-ca-buddhist</code>,
+      <code>-x-priv</code>) are discarded rather than recorded on the 
Locale.</li>
+  <li>Script subtags (e.g. <code>-Hant-</code>) cannot be represented by the
+      deprecated constructor and are mapped to the Locale variant, in upper
+      case, instead of to the Locale script.</li>
+  <li>Tags that are syntactically invalid after the language subtag retain
+  the components parsed up to that point rather than being replaced with
+  <a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Locale.html#ROOT";
 title="class or interface in java.util" 
class="external-link"><code>Locale.ROOT</code></a>.</li>
+</ul></div>
+</div>
+</section>
+<section class="summary">
+<ul class="summary-list">
+<!-- ========== 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-tab1" role="tab" 
aria-selected="false" aria-controls="method-summary-table.tabpanel" 
tabindex="-1" onkeydown="switchTab(event)" 
onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" 
class="table-tab">Static 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" 
aria-labelledby="method-summary-table-tab0">
+<div class="summary-table three-column-summary">
+<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-tab1 method-summary-table-tab4"><code>static <a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html";
 title="class or interface in java.util" 
class="external-link">List</a><wbr>&lt;<a href="AcceptLanguage.html" 
title="class in 
org.apache.tomcat.util.http.parser">AcceptLanguage</a>&gt;</code></div>
+<div class="col-second even-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4"><code><a 
href="#parse(java.io.StringReader,int)" 
class="member-name-link">parse</a><wbr>(<a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/StringReader.html";
 title="class or interface in java.io" 
class="external-link">StringReader</a>&nbsp;input,
+ int&nbsp;maxElements)</code></div>
+<div class="col-last even-row-color method-summary-table 
method-summary-table-tab1 method-summary-table-tab4">
+<div class="block">Parses an Accept-Language header value, reading at most the 
specified
+number of entries.</div>
+</div>
+</div>
+</div>
+</div>
+<div class="inherited-list">
+<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from 
class&nbsp;<a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#method-summary";
 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/Objec
 t.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#toString()"
 title="class or interface in java.lang" class="external-link">toString</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>
+</section>
+</li>
+</ul>
+</section>
+<section class="details">
+<ul class="details-list">
+<!-- ============ METHOD DETAIL ========== -->
+<li>
+<section class="method-details" id="method-detail">
+<h2>Method Details</h2>
+<ul class="member-list">
+<li>
+<section class="detail" id="parse(java.io.StringReader,int)">
+<h3>parse</h3>
+<div class="horizontal-scroll">
+<div class="member-signature"><span class="modifiers">public 
static</span>&nbsp;<span class="return-type"><a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html";
 title="class or interface in java.util" class="external-link">List</a>&lt;<a 
href="AcceptLanguage.html" title="class in 
org.apache.tomcat.util.http.parser">AcceptLanguage</a>&gt;</span>&nbsp;<span 
class="element-name">parse</span><wbr><span class="parameters">(<a 
href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/StringReader.html";
 title="class or interface in java.io" 
class="external-link">StringReader</a>&nbsp;input,
+ int&nbsp;maxElements)</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">Parses an Accept-Language header value, reading at most the 
specified
+number of entries. See
+<a 
href="AcceptLanguage.html#parse(java.io.StringReader,int)"><code>AcceptLanguage.parse(StringReader,
 int)</code></a>.</div>
+<dl class="notes">
+<dt>Parameters:</dt>
+<dd><code>input</code> - The StringReader containing the header value</dd>
+<dd><code>maxElements</code> - The maximum number of entries to parse or
+                   <code>-1</code> for no limit</dd>
+<dt>Returns:</dt>
+<dd>A list of AcceptLanguage entries. If the limit was reached, the
+        returned list has exactly <code>maxElements</code> entries and
+        any remaining entries were not parsed.</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> - If an I/O error occurs while 
reading the input</dd>
+</dl>
+</div>
+</section>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</section>
+<!-- ========= END OF CLASS DATA ========= -->
+<footer>
+<hr>
+<p class="legal-copy"><small>Copyright &#169; 2000-2026 Apache Software 
Foundation.               <br/>               Apache Tomcat, Tomcat, Apache, 
the Apache Tomcat logo and the Apache logo are either registered trademarks     
          or trademarks of the Apache Software Foundation.</small></p>
+</footer>
+</main>
+</div>
+</body>
+</html>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to