Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Jdk13LumberjackLogger.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Jdk13LumberjackLogger.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Jdk13LumberjackLogger.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: Jdk13LumberjackLogger">
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Jdk14Logger.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Jdk14Logger.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Jdk14Logger.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: Jdk14Logger">
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Log4JLogger.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Log4JLogger.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Log4JLogger.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: Log4JLogger">
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Log4jApiLogFactory.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Log4jApiLogFactory.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Log4jApiLogFactory.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: Log4jApiLogFactory">
@@ -196,53 +196,60 @@
<span class="source-line-no">183</span><span id="line-183"></span>
<span class="source-line-no">184</span><span id="line-184"> private final
ConcurrentMap<String, Object> attributes = new
ConcurrentHashMap<>();</span>
<span class="source-line-no">185</span><span id="line-185"></span>
-<span class="source-line-no">186</span><span id="line-186"> @Override</span>
-<span class="source-line-no">187</span><span id="line-187"> public Object
getAttribute(final String name) {</span>
-<span class="source-line-no">188</span><span id="line-188"> return
attributes.get(name);</span>
-<span class="source-line-no">189</span><span id="line-189"> }</span>
-<span class="source-line-no">190</span><span id="line-190"></span>
-<span class="source-line-no">191</span><span id="line-191"> @Override</span>
-<span class="source-line-no">192</span><span id="line-192"> public String[]
getAttributeNames() {</span>
-<span class="source-line-no">193</span><span id="line-193"> return
attributes.keySet().toArray(EMPTY_ARRAY);</span>
-<span class="source-line-no">194</span><span id="line-194"> }</span>
-<span class="source-line-no">195</span><span id="line-195"></span>
-<span class="source-line-no">196</span><span id="line-196"> @Override</span>
-<span class="source-line-no">197</span><span id="line-197"> public Log
getInstance(final Class<?> clazz) {</span>
-<span class="source-line-no">198</span><span id="line-198"> return
getInstance(clazz.getName());</span>
-<span class="source-line-no">199</span><span id="line-199"> }</span>
-<span class="source-line-no">200</span><span id="line-200"></span>
-<span class="source-line-no">201</span><span id="line-201"> @Override</span>
-<span class="source-line-no">202</span><span id="line-202"> public Log
getInstance(final String name) {</span>
-<span class="source-line-no">203</span><span id="line-203"> return
adapter.getLogger(name);</span>
-<span class="source-line-no">204</span><span id="line-204"> }</span>
-<span class="source-line-no">205</span><span id="line-205"></span>
-<span class="source-line-no">206</span><span id="line-206"> /**</span>
-<span class="source-line-no">207</span><span id="line-207"> * This method
is supposed to clear all loggers. In this implementation it will clear all the
logger</span>
-<span class="source-line-no">208</span><span id="line-208"> * wrappers but
the loggers managed by the underlying logger context will not be.</span>
-<span class="source-line-no">209</span><span id="line-209"> */</span>
-<span class="source-line-no">210</span><span id="line-210"> @Override</span>
-<span class="source-line-no">211</span><span id="line-211"> public void
release() {</span>
-<span class="source-line-no">212</span><span id="line-212"> try {</span>
-<span class="source-line-no">213</span><span id="line-213">
adapter.close();</span>
-<span class="source-line-no">214</span><span id="line-214"> } catch
(final IOException ignored) {</span>
-<span class="source-line-no">215</span><span id="line-215"> //
Ignore</span>
-<span class="source-line-no">216</span><span id="line-216"> }</span>
-<span class="source-line-no">217</span><span id="line-217"> }</span>
-<span class="source-line-no">218</span><span id="line-218"></span>
-<span class="source-line-no">219</span><span id="line-219"> @Override</span>
-<span class="source-line-no">220</span><span id="line-220"> public void
removeAttribute(final String name) {</span>
-<span class="source-line-no">221</span><span id="line-221">
attributes.remove(name);</span>
-<span class="source-line-no">222</span><span id="line-222"> }</span>
-<span class="source-line-no">223</span><span id="line-223"></span>
-<span class="source-line-no">224</span><span id="line-224"> @Override</span>
-<span class="source-line-no">225</span><span id="line-225"> public void
setAttribute(final String name, final Object value) {</span>
-<span class="source-line-no">226</span><span id="line-226"> if (value
!= null) {</span>
-<span class="source-line-no">227</span><span id="line-227">
attributes.put(name, value);</span>
-<span class="source-line-no">228</span><span id="line-228"> } else
{</span>
-<span class="source-line-no">229</span><span id="line-229">
removeAttribute(name);</span>
-<span class="source-line-no">230</span><span id="line-230"> }</span>
-<span class="source-line-no">231</span><span id="line-231"> }</span>
-<span class="source-line-no">232</span><span id="line-232">}</span>
+<span class="source-line-no">186</span><span id="line-186"> /**</span>
+<span class="source-line-no">187</span><span id="line-187"> * Constructs a
new instance.</span>
+<span class="source-line-no">188</span><span id="line-188"> */</span>
+<span class="source-line-no">189</span><span id="line-189"> public
Log4jApiLogFactory() {</span>
+<span class="source-line-no">190</span><span id="line-190"> //
empty</span>
+<span class="source-line-no">191</span><span id="line-191"> }</span>
+<span class="source-line-no">192</span><span id="line-192"></span>
+<span class="source-line-no">193</span><span id="line-193"> @Override</span>
+<span class="source-line-no">194</span><span id="line-194"> public Object
getAttribute(final String name) {</span>
+<span class="source-line-no">195</span><span id="line-195"> return
attributes.get(name);</span>
+<span class="source-line-no">196</span><span id="line-196"> }</span>
+<span class="source-line-no">197</span><span id="line-197"></span>
+<span class="source-line-no">198</span><span id="line-198"> @Override</span>
+<span class="source-line-no">199</span><span id="line-199"> public String[]
getAttributeNames() {</span>
+<span class="source-line-no">200</span><span id="line-200"> return
attributes.keySet().toArray(EMPTY_ARRAY);</span>
+<span class="source-line-no">201</span><span id="line-201"> }</span>
+<span class="source-line-no">202</span><span id="line-202"></span>
+<span class="source-line-no">203</span><span id="line-203"> @Override</span>
+<span class="source-line-no">204</span><span id="line-204"> public Log
getInstance(final Class<?> clazz) {</span>
+<span class="source-line-no">205</span><span id="line-205"> return
getInstance(clazz.getName());</span>
+<span class="source-line-no">206</span><span id="line-206"> }</span>
+<span class="source-line-no">207</span><span id="line-207"></span>
+<span class="source-line-no">208</span><span id="line-208"> @Override</span>
+<span class="source-line-no">209</span><span id="line-209"> public Log
getInstance(final String name) {</span>
+<span class="source-line-no">210</span><span id="line-210"> return
adapter.getLogger(name);</span>
+<span class="source-line-no">211</span><span id="line-211"> }</span>
+<span class="source-line-no">212</span><span id="line-212"></span>
+<span class="source-line-no">213</span><span id="line-213"> /**</span>
+<span class="source-line-no">214</span><span id="line-214"> * This method
is supposed to clear all loggers. In this implementation it will clear all the
logger</span>
+<span class="source-line-no">215</span><span id="line-215"> * wrappers but
the loggers managed by the underlying logger context will not be.</span>
+<span class="source-line-no">216</span><span id="line-216"> */</span>
+<span class="source-line-no">217</span><span id="line-217"> @Override</span>
+<span class="source-line-no">218</span><span id="line-218"> public void
release() {</span>
+<span class="source-line-no">219</span><span id="line-219"> try {</span>
+<span class="source-line-no">220</span><span id="line-220">
adapter.close();</span>
+<span class="source-line-no">221</span><span id="line-221"> } catch
(final IOException ignored) {</span>
+<span class="source-line-no">222</span><span id="line-222"> //
Ignore</span>
+<span class="source-line-no">223</span><span id="line-223"> }</span>
+<span class="source-line-no">224</span><span id="line-224"> }</span>
+<span class="source-line-no">225</span><span id="line-225"></span>
+<span class="source-line-no">226</span><span id="line-226"> @Override</span>
+<span class="source-line-no">227</span><span id="line-227"> public void
removeAttribute(final String name) {</span>
+<span class="source-line-no">228</span><span id="line-228">
attributes.remove(name);</span>
+<span class="source-line-no">229</span><span id="line-229"> }</span>
+<span class="source-line-no">230</span><span id="line-230"></span>
+<span class="source-line-no">231</span><span id="line-231"> @Override</span>
+<span class="source-line-no">232</span><span id="line-232"> public void
setAttribute(final String name, final Object value) {</span>
+<span class="source-line-no">233</span><span id="line-233"> if (value
!= null) {</span>
+<span class="source-line-no">234</span><span id="line-234">
attributes.put(name, value);</span>
+<span class="source-line-no">235</span><span id="line-235"> } else
{</span>
+<span class="source-line-no">236</span><span id="line-236">
removeAttribute(name);</span>
+<span class="source-line-no">237</span><span id="line-237"> }</span>
+<span class="source-line-no">238</span><span id="line-238"> }</span>
+<span class="source-line-no">239</span><span id="line-239">}</span>
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/LogFactoryImpl.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/LogFactoryImpl.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/LogFactoryImpl.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: LogFactoryImpl">
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/LogKitLogger.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/LogKitLogger.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/LogKitLogger.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: LogKitLogger">
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/NoOpLog.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/NoOpLog.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/NoOpLog.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: NoOpLog">
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/ServletContextCleaner.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/ServletContextCleaner.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/ServletContextCleaner.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: ServletContextCleaner">
@@ -64,91 +64,98 @@
<span class="source-line-no">051</span><span id="line-51"> private static
final Class<?>[] RELEASE_SIGNATURE = { ClassLoader.class };</span>
<span class="source-line-no">052</span><span id="line-52"></span>
<span class="source-line-no">053</span><span id="line-53"> /**</span>
-<span class="source-line-no">054</span><span id="line-54"> * Invoked when
a webapp is undeployed, this tells the LogFactory</span>
-<span class="source-line-no">055</span><span id="line-55"> * class to
release any logging information related to the current</span>
-<span class="source-line-no">056</span><span id="line-56"> *
contextClassloader.</span>
-<span class="source-line-no">057</span><span id="line-57"> */</span>
-<span class="source-line-no">058</span><span id="line-58"> @Override</span>
-<span class="source-line-no">059</span><span id="line-59"> public void
contextDestroyed(final ServletContextEvent sce) {</span>
-<span class="source-line-no">060</span><span id="line-60"> final
ClassLoader tccl = Thread.currentThread().getContextClassLoader();</span>
-<span class="source-line-no">061</span><span id="line-61"></span>
-<span class="source-line-no">062</span><span id="line-62"> final
Object[] params = new Object[1];</span>
-<span class="source-line-no">063</span><span id="line-63"> params[0] =
tccl;</span>
-<span class="source-line-no">064</span><span id="line-64"></span>
-<span class="source-line-no">065</span><span id="line-65"> // Walk up
the tree of class loaders, finding all the available</span>
-<span class="source-line-no">066</span><span id="line-66"> //
LogFactory classes and releasing any objects associated with</span>
-<span class="source-line-no">067</span><span id="line-67"> // the tccl
(ie the webapp).</span>
-<span class="source-line-no">068</span><span id="line-68"> //</span>
-<span class="source-line-no">069</span><span id="line-69"> // When
there is only one LogFactory in the classpath, and it</span>
-<span class="source-line-no">070</span><span id="line-70"> // is within
the webapp being undeployed then there is no problem;</span>
-<span class="source-line-no">071</span><span id="line-71"> // garbage
collection works fine.</span>
-<span class="source-line-no">072</span><span id="line-72"> //</span>
-<span class="source-line-no">073</span><span id="line-73"> // When
there are multiple LogFactory classes in the classpath but</span>
-<span class="source-line-no">074</span><span id="line-74"> //
parent-first classloading is used everywhere, this loop is really</span>
-<span class="source-line-no">075</span><span id="line-75"> // short.
The first instance of LogFactory found will</span>
-<span class="source-line-no">076</span><span id="line-76"> // be the
highest in the classpath, and then no more will be found.</span>
-<span class="source-line-no">077</span><span id="line-77"> // This is
ok, as with this setup this will be the only LogFactory</span>
-<span class="source-line-no">078</span><span id="line-78"> // holding
any data associated with the tccl being released.</span>
+<span class="source-line-no">054</span><span id="line-54"> * Constructs a
new instance.</span>
+<span class="source-line-no">055</span><span id="line-55"> */</span>
+<span class="source-line-no">056</span><span id="line-56"> public
ServletContextCleaner() {</span>
+<span class="source-line-no">057</span><span id="line-57"> //
empty</span>
+<span class="source-line-no">058</span><span id="line-58"> }</span>
+<span class="source-line-no">059</span><span id="line-59"></span>
+<span class="source-line-no">060</span><span id="line-60"> /**</span>
+<span class="source-line-no">061</span><span id="line-61"> * Invoked when
a webapp is undeployed, this tells the LogFactory</span>
+<span class="source-line-no">062</span><span id="line-62"> * class to
release any logging information related to the current</span>
+<span class="source-line-no">063</span><span id="line-63"> *
contextClassloader.</span>
+<span class="source-line-no">064</span><span id="line-64"> */</span>
+<span class="source-line-no">065</span><span id="line-65"> @Override</span>
+<span class="source-line-no">066</span><span id="line-66"> public void
contextDestroyed(final ServletContextEvent sce) {</span>
+<span class="source-line-no">067</span><span id="line-67"> final
ClassLoader tccl = Thread.currentThread().getContextClassLoader();</span>
+<span class="source-line-no">068</span><span id="line-68"></span>
+<span class="source-line-no">069</span><span id="line-69"> final
Object[] params = new Object[1];</span>
+<span class="source-line-no">070</span><span id="line-70"> params[0] =
tccl;</span>
+<span class="source-line-no">071</span><span id="line-71"></span>
+<span class="source-line-no">072</span><span id="line-72"> // Walk up
the tree of class loaders, finding all the available</span>
+<span class="source-line-no">073</span><span id="line-73"> //
LogFactory classes and releasing any objects associated with</span>
+<span class="source-line-no">074</span><span id="line-74"> // the tccl
(ie the webapp).</span>
+<span class="source-line-no">075</span><span id="line-75"> //</span>
+<span class="source-line-no">076</span><span id="line-76"> // When
there is only one LogFactory in the classpath, and it</span>
+<span class="source-line-no">077</span><span id="line-77"> // is within
the webapp being undeployed then there is no problem;</span>
+<span class="source-line-no">078</span><span id="line-78"> // garbage
collection works fine.</span>
<span class="source-line-no">079</span><span id="line-79"> //</span>
-<span class="source-line-no">080</span><span id="line-80"> // When
there are multiple LogFactory classes in the classpath and</span>
-<span class="source-line-no">081</span><span id="line-81"> //
child-first classloading is used in any class loader, then multiple</span>
-<span class="source-line-no">082</span><span id="line-82"> //
LogFactory instances may hold info about this TCCL; whenever the</span>
-<span class="source-line-no">083</span><span id="line-83"> // webapp
makes a call into a class loaded via an ancestor class loader</span>
-<span class="source-line-no">084</span><span id="line-84"> // and that
class calls LogFactory the tccl gets registered in</span>
-<span class="source-line-no">085</span><span id="line-85"> // the
LogFactory instance that is visible from the ancestor</span>
-<span class="source-line-no">086</span><span id="line-86"> // class
loader. However the concrete logging library it points</span>
-<span class="source-line-no">087</span><span id="line-87"> // to is
expected to have been loaded via the TCCL, so the</span>
-<span class="source-line-no">088</span><span id="line-88"> //
underlying logging lib is only initialized/configured once.</span>
-<span class="source-line-no">089</span><span id="line-89"> // These
references from ancestor LogFactory classes down to</span>
-<span class="source-line-no">090</span><span id="line-90"> // TCCL
class loaders are held via weak references and so should</span>
-<span class="source-line-no">091</span><span id="line-91"> // be
released but there are circumstances where they may not.</span>
-<span class="source-line-no">092</span><span id="line-92"> // Walking
up the class loader ancestry ladder releasing</span>
-<span class="source-line-no">093</span><span id="line-93"> // the
current tccl at each level tree, though, will definitely</span>
-<span class="source-line-no">094</span><span id="line-94"> // clear any
problem references.</span>
-<span class="source-line-no">095</span><span id="line-95"> ClassLoader
loader = tccl;</span>
-<span class="source-line-no">096</span><span id="line-96"> while
(loader != null) {</span>
-<span class="source-line-no">097</span><span id="line-97"> // Load
via the current loader. Note that if the class is not accessible</span>
-<span class="source-line-no">098</span><span id="line-98"> // via
this loader, but is accessible via some ancestor then that class</span>
-<span class="source-line-no">099</span><span id="line-99"> // will
be returned.</span>
-<span class="source-line-no">100</span><span id="line-100"> try
{</span>
-<span class="source-line-no">101</span><span id="line-101">
@SuppressWarnings("unchecked")</span>
-<span class="source-line-no">102</span><span id="line-102">
final Class<LogFactory> logFactoryClass = (Class<LogFactory>)
loader.loadClass("org.apache.commons.logging.LogFactory");</span>
-<span class="source-line-no">103</span><span id="line-103">
final Method releaseMethod = logFactoryClass.getMethod("release",
RELEASE_SIGNATURE);</span>
-<span class="source-line-no">104</span><span id="line-104">
releaseMethod.invoke(null, params);</span>
-<span class="source-line-no">105</span><span id="line-105">
loader = logFactoryClass.getClassLoader().getParent();</span>
-<span class="source-line-no">106</span><span id="line-106"> } catch
(final ClassNotFoundException ex) {</span>
-<span class="source-line-no">107</span><span id="line-107"> //
Neither the current class loader nor any of its ancestors could find</span>
-<span class="source-line-no">108</span><span id="line-108"> //
the LogFactory class, so we can stop now.</span>
-<span class="source-line-no">109</span><span id="line-109">
loader = null;</span>
-<span class="source-line-no">110</span><span id="line-110"> } catch
(final NoSuchMethodException ex) {</span>
-<span class="source-line-no">111</span><span id="line-111"> //
This is not expected; every version of JCL has this method</span>
-<span class="source-line-no">112</span><span id="line-112">
System.err.println("LogFactory instance found which does not support release
method!");</span>
-<span class="source-line-no">113</span><span id="line-113">
loader = null;</span>
-<span class="source-line-no">114</span><span id="line-114"> } catch
(final IllegalAccessException ex) {</span>
-<span class="source-line-no">115</span><span id="line-115"> //
This is not expected; every ancestor class should be accessible</span>
-<span class="source-line-no">116</span><span id="line-116">
System.err.println("LogFactory instance found which is not accessible!");</span>
-<span class="source-line-no">117</span><span id="line-117">
loader = null;</span>
-<span class="source-line-no">118</span><span id="line-118"> } catch
(final InvocationTargetException ex) {</span>
-<span class="source-line-no">119</span><span id="line-119"> //
This is not expected</span>
-<span class="source-line-no">120</span><span id="line-120">
System.err.println("LogFactory instance release method failed!");</span>
-<span class="source-line-no">121</span><span id="line-121">
loader = null;</span>
-<span class="source-line-no">122</span><span id="line-122"> }</span>
-<span class="source-line-no">123</span><span id="line-123"> }</span>
-<span class="source-line-no">124</span><span id="line-124"></span>
-<span class="source-line-no">125</span><span id="line-125"> // Just to
be sure, invoke release on the LogFactory that is visible from</span>
-<span class="source-line-no">126</span><span id="line-126"> // this
ServletContextCleaner class too. This should already have been caught</span>
-<span class="source-line-no">127</span><span id="line-127"> // by the
above loop but just in case...</span>
-<span class="source-line-no">128</span><span id="line-128">
LogFactory.release(tccl);</span>
-<span class="source-line-no">129</span><span id="line-129"> }</span>
-<span class="source-line-no">130</span><span id="line-130"></span>
-<span class="source-line-no">131</span><span id="line-131"> /**</span>
-<span class="source-line-no">132</span><span id="line-132"> * Invoked when
a webapp is deployed. Nothing needs to be done here.</span>
-<span class="source-line-no">133</span><span id="line-133"> */</span>
-<span class="source-line-no">134</span><span id="line-134"> @Override</span>
-<span class="source-line-no">135</span><span id="line-135"> public void
contextInitialized(final ServletContextEvent sce) {</span>
-<span class="source-line-no">136</span><span id="line-136"> // do
nothing</span>
-<span class="source-line-no">137</span><span id="line-137"> }</span>
-<span class="source-line-no">138</span><span id="line-138">}</span>
+<span class="source-line-no">080</span><span id="line-80"> // When
there are multiple LogFactory classes in the classpath but</span>
+<span class="source-line-no">081</span><span id="line-81"> //
parent-first classloading is used everywhere, this loop is really</span>
+<span class="source-line-no">082</span><span id="line-82"> // short.
The first instance of LogFactory found will</span>
+<span class="source-line-no">083</span><span id="line-83"> // be the
highest in the classpath, and then no more will be found.</span>
+<span class="source-line-no">084</span><span id="line-84"> // This is
ok, as with this setup this will be the only LogFactory</span>
+<span class="source-line-no">085</span><span id="line-85"> // holding
any data associated with the tccl being released.</span>
+<span class="source-line-no">086</span><span id="line-86"> //</span>
+<span class="source-line-no">087</span><span id="line-87"> // When
there are multiple LogFactory classes in the classpath and</span>
+<span class="source-line-no">088</span><span id="line-88"> //
child-first classloading is used in any class loader, then multiple</span>
+<span class="source-line-no">089</span><span id="line-89"> //
LogFactory instances may hold info about this TCCL; whenever the</span>
+<span class="source-line-no">090</span><span id="line-90"> // webapp
makes a call into a class loaded via an ancestor class loader</span>
+<span class="source-line-no">091</span><span id="line-91"> // and that
class calls LogFactory the tccl gets registered in</span>
+<span class="source-line-no">092</span><span id="line-92"> // the
LogFactory instance that is visible from the ancestor</span>
+<span class="source-line-no">093</span><span id="line-93"> // class
loader. However the concrete logging library it points</span>
+<span class="source-line-no">094</span><span id="line-94"> // to is
expected to have been loaded via the TCCL, so the</span>
+<span class="source-line-no">095</span><span id="line-95"> //
underlying logging lib is only initialized/configured once.</span>
+<span class="source-line-no">096</span><span id="line-96"> // These
references from ancestor LogFactory classes down to</span>
+<span class="source-line-no">097</span><span id="line-97"> // TCCL
class loaders are held via weak references and so should</span>
+<span class="source-line-no">098</span><span id="line-98"> // be
released but there are circumstances where they may not.</span>
+<span class="source-line-no">099</span><span id="line-99"> // Walking
up the class loader ancestry ladder releasing</span>
+<span class="source-line-no">100</span><span id="line-100"> // the
current tccl at each level tree, though, will definitely</span>
+<span class="source-line-no">101</span><span id="line-101"> // clear
any problem references.</span>
+<span class="source-line-no">102</span><span id="line-102"> ClassLoader
loader = tccl;</span>
+<span class="source-line-no">103</span><span id="line-103"> while
(loader != null) {</span>
+<span class="source-line-no">104</span><span id="line-104"> // Load
via the current loader. Note that if the class is not accessible</span>
+<span class="source-line-no">105</span><span id="line-105"> // via
this loader, but is accessible via some ancestor then that class</span>
+<span class="source-line-no">106</span><span id="line-106"> // will
be returned.</span>
+<span class="source-line-no">107</span><span id="line-107"> try
{</span>
+<span class="source-line-no">108</span><span id="line-108">
@SuppressWarnings("unchecked")</span>
+<span class="source-line-no">109</span><span id="line-109">
final Class<LogFactory> logFactoryClass = (Class<LogFactory>)
loader.loadClass("org.apache.commons.logging.LogFactory");</span>
+<span class="source-line-no">110</span><span id="line-110">
final Method releaseMethod = logFactoryClass.getMethod("release",
RELEASE_SIGNATURE);</span>
+<span class="source-line-no">111</span><span id="line-111">
releaseMethod.invoke(null, params);</span>
+<span class="source-line-no">112</span><span id="line-112">
loader = logFactoryClass.getClassLoader().getParent();</span>
+<span class="source-line-no">113</span><span id="line-113"> } catch
(final ClassNotFoundException ex) {</span>
+<span class="source-line-no">114</span><span id="line-114"> //
Neither the current class loader nor any of its ancestors could find</span>
+<span class="source-line-no">115</span><span id="line-115"> //
the LogFactory class, so we can stop now.</span>
+<span class="source-line-no">116</span><span id="line-116">
loader = null;</span>
+<span class="source-line-no">117</span><span id="line-117"> } catch
(final NoSuchMethodException ex) {</span>
+<span class="source-line-no">118</span><span id="line-118"> //
This is not expected; every version of JCL has this method</span>
+<span class="source-line-no">119</span><span id="line-119">
System.err.println("LogFactory instance found which does not support release
method!");</span>
+<span class="source-line-no">120</span><span id="line-120">
loader = null;</span>
+<span class="source-line-no">121</span><span id="line-121"> } catch
(final IllegalAccessException ex) {</span>
+<span class="source-line-no">122</span><span id="line-122"> //
This is not expected; every ancestor class should be accessible</span>
+<span class="source-line-no">123</span><span id="line-123">
System.err.println("LogFactory instance found which is not accessible!");</span>
+<span class="source-line-no">124</span><span id="line-124">
loader = null;</span>
+<span class="source-line-no">125</span><span id="line-125"> } catch
(final InvocationTargetException ex) {</span>
+<span class="source-line-no">126</span><span id="line-126"> //
This is not expected</span>
+<span class="source-line-no">127</span><span id="line-127">
System.err.println("LogFactory instance release method failed!");</span>
+<span class="source-line-no">128</span><span id="line-128">
loader = null;</span>
+<span class="source-line-no">129</span><span id="line-129"> }</span>
+<span class="source-line-no">130</span><span id="line-130"> }</span>
+<span class="source-line-no">131</span><span id="line-131"></span>
+<span class="source-line-no">132</span><span id="line-132"> // Just to
be sure, invoke release on the LogFactory that is visible from</span>
+<span class="source-line-no">133</span><span id="line-133"> // this
ServletContextCleaner class too. This should already have been caught</span>
+<span class="source-line-no">134</span><span id="line-134"> // by the
above loop but just in case...</span>
+<span class="source-line-no">135</span><span id="line-135">
LogFactory.release(tccl);</span>
+<span class="source-line-no">136</span><span id="line-136"> }</span>
+<span class="source-line-no">137</span><span id="line-137"></span>
+<span class="source-line-no">138</span><span id="line-138"> /**</span>
+<span class="source-line-no">139</span><span id="line-139"> * Invoked when
a webapp is deployed. Nothing needs to be done here.</span>
+<span class="source-line-no">140</span><span id="line-140"> */</span>
+<span class="source-line-no">141</span><span id="line-141"> @Override</span>
+<span class="source-line-no">142</span><span id="line-142"> public void
contextInitialized(final ServletContextEvent sce) {</span>
+<span class="source-line-no">143</span><span id="line-143"> // do
nothing</span>
+<span class="source-line-no">144</span><span id="line-144"> }</span>
+<span class="source-line-no">145</span><span id="line-145">}</span>
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/SimpleLog.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/SimpleLog.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/SimpleLog.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: SimpleLog">
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Slf4jLogFactory.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Slf4jLogFactory.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/Slf4jLogFactory.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: Slf4jLogFactory">
@@ -279,60 +279,68 @@
<span class="source-line-no">266</span><span id="line-266"></span>
<span class="source-line-no">267</span><span id="line-267"> private final
ConcurrentMap<String, Object> attributes = new
ConcurrentHashMap<>();</span>
<span class="source-line-no">268</span><span id="line-268"></span>
-<span class="source-line-no">269</span><span id="line-269"> @Override</span>
-<span class="source-line-no">270</span><span id="line-270"> public Object
getAttribute(final String name) {</span>
-<span class="source-line-no">271</span><span id="line-271"> return
attributes.get(name);</span>
-<span class="source-line-no">272</span><span id="line-272"> }</span>
-<span class="source-line-no">273</span><span id="line-273"></span>
-<span class="source-line-no">274</span><span id="line-274"> @Override</span>
-<span class="source-line-no">275</span><span id="line-275"> public String[]
getAttributeNames() {</span>
-<span class="source-line-no">276</span><span id="line-276"> return
attributes.keySet().toArray(EMPTY_STRING_ARRAY);</span>
-<span class="source-line-no">277</span><span id="line-277"> }</span>
-<span class="source-line-no">278</span><span id="line-278"></span>
-<span class="source-line-no">279</span><span id="line-279"> @Override</span>
-<span class="source-line-no">280</span><span id="line-280"> public Log
getInstance(final Class<?> clazz) throws LogConfigurationException
{</span>
-<span class="source-line-no">281</span><span id="line-281"> return
getInstance(clazz.getName());</span>
-<span class="source-line-no">282</span><span id="line-282"> }</span>
-<span class="source-line-no">283</span><span id="line-283"></span>
-<span class="source-line-no">284</span><span id="line-284"> @Override</span>
-<span class="source-line-no">285</span><span id="line-285"> public Log
getInstance(final String name) {</span>
-<span class="source-line-no">286</span><span id="line-286"> return
loggers.computeIfAbsent(name, n -> {</span>
-<span class="source-line-no">287</span><span id="line-287"> final
Logger logger = LoggerFactory.getLogger(n);</span>
-<span class="source-line-no">288</span><span id="line-288"> return
logger instanceof LocationAwareLogger ? new
Slf4jLocationAwareLog((LocationAwareLogger) logger) : new Slf4jLog(</span>
-<span class="source-line-no">289</span><span id="line-289">
logger);</span>
-<span class="source-line-no">290</span><span id="line-290"> });</span>
-<span class="source-line-no">291</span><span id="line-291"> }</span>
-<span class="source-line-no">292</span><span id="line-292"></span>
-<span class="source-line-no">293</span><span id="line-293"> /**</span>
-<span class="source-line-no">294</span><span id="line-294"> * This method
is supposed to clear all loggers.</span>
-<span class="source-line-no">295</span><span id="line-295"> *
<p></span>
-<span class="source-line-no">296</span><span id="line-296"> * In this
implementation it calls a "stop" method if the logger factory supports it. This
is the case of</span>
-<span class="source-line-no">297</span><span id="line-297"> *
Logback.</span>
-<span class="source-line-no">298</span><span id="line-298"> *
</p></span>
-<span class="source-line-no">299</span><span id="line-299"> */</span>
-<span class="source-line-no">300</span><span id="line-300"> @Override</span>
-<span class="source-line-no">301</span><span id="line-301"> public void
release() {</span>
-<span class="source-line-no">302</span><span id="line-302"> final
ILoggerFactory factory = LoggerFactory.getILoggerFactory();</span>
-<span class="source-line-no">303</span><span id="line-303"> try {</span>
-<span class="source-line-no">304</span><span id="line-304">
factory.getClass().getMethod("stop").invoke(factory);</span>
-<span class="source-line-no">305</span><span id="line-305"> } catch
(final ReflectiveOperationException ignored) {</span>
-<span class="source-line-no">306</span><span id="line-306"> }</span>
-<span class="source-line-no">307</span><span id="line-307"> }</span>
-<span class="source-line-no">308</span><span id="line-308"></span>
-<span class="source-line-no">309</span><span id="line-309"> @Override</span>
-<span class="source-line-no">310</span><span id="line-310"> public void
removeAttribute(final String name) {</span>
-<span class="source-line-no">311</span><span id="line-311">
attributes.remove(name);</span>
-<span class="source-line-no">312</span><span id="line-312"> }</span>
-<span class="source-line-no">313</span><span id="line-313"></span>
-<span class="source-line-no">314</span><span id="line-314"> @Override</span>
-<span class="source-line-no">315</span><span id="line-315"> public void
setAttribute(final String name, final Object value) {</span>
-<span class="source-line-no">316</span><span id="line-316"> if (value
!= null) {</span>
-<span class="source-line-no">317</span><span id="line-317">
attributes.put(name, value);</span>
-<span class="source-line-no">318</span><span id="line-318"> } else
{</span>
-<span class="source-line-no">319</span><span id="line-319">
removeAttribute(name);</span>
-<span class="source-line-no">320</span><span id="line-320"> }</span>
-<span class="source-line-no">321</span><span id="line-321"> }</span>
-<span class="source-line-no">322</span><span id="line-322">}</span>
+<span class="source-line-no">269</span><span id="line-269"> /**</span>
+<span class="source-line-no">270</span><span id="line-270"> * Constructs a
new instance.</span>
+<span class="source-line-no">271</span><span id="line-271"> */</span>
+<span class="source-line-no">272</span><span id="line-272"> public
Slf4jLogFactory() {</span>
+<span class="source-line-no">273</span><span id="line-273"> //
empty</span>
+<span class="source-line-no">274</span><span id="line-274"> }</span>
+<span class="source-line-no">275</span><span id="line-275"></span>
+<span class="source-line-no">276</span><span id="line-276"> @Override</span>
+<span class="source-line-no">277</span><span id="line-277"> public Object
getAttribute(final String name) {</span>
+<span class="source-line-no">278</span><span id="line-278"> return
attributes.get(name);</span>
+<span class="source-line-no">279</span><span id="line-279"> }</span>
+<span class="source-line-no">280</span><span id="line-280"></span>
+<span class="source-line-no">281</span><span id="line-281"> @Override</span>
+<span class="source-line-no">282</span><span id="line-282"> public String[]
getAttributeNames() {</span>
+<span class="source-line-no">283</span><span id="line-283"> return
attributes.keySet().toArray(EMPTY_STRING_ARRAY);</span>
+<span class="source-line-no">284</span><span id="line-284"> }</span>
+<span class="source-line-no">285</span><span id="line-285"></span>
+<span class="source-line-no">286</span><span id="line-286"> @Override</span>
+<span class="source-line-no">287</span><span id="line-287"> public Log
getInstance(final Class<?> clazz) throws LogConfigurationException
{</span>
+<span class="source-line-no">288</span><span id="line-288"> return
getInstance(clazz.getName());</span>
+<span class="source-line-no">289</span><span id="line-289"> }</span>
+<span class="source-line-no">290</span><span id="line-290"></span>
+<span class="source-line-no">291</span><span id="line-291"> @Override</span>
+<span class="source-line-no">292</span><span id="line-292"> public Log
getInstance(final String name) {</span>
+<span class="source-line-no">293</span><span id="line-293"> return
loggers.computeIfAbsent(name, n -> {</span>
+<span class="source-line-no">294</span><span id="line-294"> final
Logger logger = LoggerFactory.getLogger(n);</span>
+<span class="source-line-no">295</span><span id="line-295"> return
logger instanceof LocationAwareLogger ? new
Slf4jLocationAwareLog((LocationAwareLogger) logger) : new Slf4jLog(</span>
+<span class="source-line-no">296</span><span id="line-296">
logger);</span>
+<span class="source-line-no">297</span><span id="line-297"> });</span>
+<span class="source-line-no">298</span><span id="line-298"> }</span>
+<span class="source-line-no">299</span><span id="line-299"></span>
+<span class="source-line-no">300</span><span id="line-300"> /**</span>
+<span class="source-line-no">301</span><span id="line-301"> * This method
is supposed to clear all loggers.</span>
+<span class="source-line-no">302</span><span id="line-302"> *
<p></span>
+<span class="source-line-no">303</span><span id="line-303"> * In this
implementation it calls a "stop" method if the logger factory supports it. This
is the case of</span>
+<span class="source-line-no">304</span><span id="line-304"> *
Logback.</span>
+<span class="source-line-no">305</span><span id="line-305"> *
</p></span>
+<span class="source-line-no">306</span><span id="line-306"> */</span>
+<span class="source-line-no">307</span><span id="line-307"> @Override</span>
+<span class="source-line-no">308</span><span id="line-308"> public void
release() {</span>
+<span class="source-line-no">309</span><span id="line-309"> final
ILoggerFactory factory = LoggerFactory.getILoggerFactory();</span>
+<span class="source-line-no">310</span><span id="line-310"> try {</span>
+<span class="source-line-no">311</span><span id="line-311">
factory.getClass().getMethod("stop").invoke(factory);</span>
+<span class="source-line-no">312</span><span id="line-312"> } catch
(final ReflectiveOperationException ignored) {</span>
+<span class="source-line-no">313</span><span id="line-313"> //
empty</span>
+<span class="source-line-no">314</span><span id="line-314"> }</span>
+<span class="source-line-no">315</span><span id="line-315"> }</span>
+<span class="source-line-no">316</span><span id="line-316"></span>
+<span class="source-line-no">317</span><span id="line-317"> @Override</span>
+<span class="source-line-no">318</span><span id="line-318"> public void
removeAttribute(final String name) {</span>
+<span class="source-line-no">319</span><span id="line-319">
attributes.remove(name);</span>
+<span class="source-line-no">320</span><span id="line-320"> }</span>
+<span class="source-line-no">321</span><span id="line-321"></span>
+<span class="source-line-no">322</span><span id="line-322"> @Override</span>
+<span class="source-line-no">323</span><span id="line-323"> public void
setAttribute(final String name, final Object value) {</span>
+<span class="source-line-no">324</span><span id="line-324"> if (value
!= null) {</span>
+<span class="source-line-no">325</span><span id="line-325">
attributes.put(name, value);</span>
+<span class="source-line-no">326</span><span id="line-326"> } else
{</span>
+<span class="source-line-no">327</span><span id="line-327">
removeAttribute(name);</span>
+<span class="source-line-no">328</span><span id="line-328"> }</span>
+<span class="source-line-no">329</span><span id="line-329"> }</span>
+<span class="source-line-no">330</span><span id="line-330">}</span>
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/WeakHashtable.html
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/WeakHashtable.html
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/src-html/org/apache/commons/logging/impl/WeakHashtable.html
Wed May 15 16:57:04 2024
@@ -1,7 +1,7 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
-<!-- Generated by javadoc (17) -->
+<!-- Generated by javadoc (21) -->
<title>Source code</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="source: package:
org.apache.commons.logging.impl, class: WeakHashtable">
@@ -119,7 +119,7 @@
<span class="source-line-no">106</span><span id="line-106"> * for most or all
users.</span>
<span class="source-line-no">107</span><span id="line-107"> *</span>
<span class="source-line-no">108</span><span id="line-108"> * @since 1.1</span>
-<span class="source-line-no">109</span><span id="line-109"> * @deprecated No
longer used.</span>
+<span class="source-line-no">109</span><span id="line-109"> * @deprecated No
longer used, will be removed in 2.0.</span>
<span class="source-line-no">110</span><span id="line-110"> */</span>
<span class="source-line-no">111</span><span id="line-111">@Deprecated</span>
<span class="source-line-no">112</span><span id="line-112">public final class
WeakHashtable extends Hashtable {</span>
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/stylesheet.css
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/stylesheet.css
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/stylesheet.css
Wed May 15 16:57:04 2024
@@ -5,17 +5,72 @@
@import url('resources/fonts/dejavu.css');
/*
+ * These CSS custom properties (variables) define the core color and font
+ * properties used in this stylesheet.
+ */
+:root {
+ /* body, block and code fonts */
+ --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
+ --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times,
serif;
+ --code-font-family: 'DejaVu Sans Mono', monospace;
+ /* Base font sizes for body and code elements */
+ --body-font-size: 14px;
+ --code-font-size: 14px;
+ /* Text colors for body and block elements */
+ --body-text-color: #353833;
+ --block-text-color: #474747;
+ /* Background colors for various structural elements */
+ --body-background-color: #ffffff;
+ --section-background-color: #f8f8f8;
+ --detail-background-color: #ffffff;
+ /* Colors for navigation bar and table captions */
+ --navbar-background-color: #4D7A97;
+ --navbar-text-color: #ffffff;
+ /* Background color for subnavigation and various headers */
+ --subnav-background-color: #dee3e9;
+ /* Background and text colors for selected tabs and navigation items */
+ --selected-background-color: #f8981d;
+ --selected-text-color: #253441;
+ --selected-link-color: #1f389c;
+ /* Background colors for generated tables */
+ --even-row-color: #ffffff;
+ --odd-row-color: #eeeeef;
+ /* Text color for page title */
+ --title-color: #2c4557;
+ /* Text colors for links */
+ --link-color: #4A6782;
+ --link-color-active: #bb7a2a;
+ /* Snippet colors */
+ --snippet-background-color: #ebecee;
+ --snippet-text-color: var(--block-text-color);
+ --snippet-highlight-color: #f7c590;
+ /* Border colors for structural elements and user defined tables */
+ --border-color: #ededed;
+ --table-border-color: #000000;
+ /* Search input colors */
+ --search-input-background-color: #ffffff;
+ --search-input-text-color: #000000;
+ --search-input-placeholder-color: #909090;
+ /* Highlight color for active search tag target */
+ --search-tag-highlight-color: #ffff00;
+ /* Adjustments for icon and active background colors of copy-to-clipboard
buttons */
+ --copy-icon-brightness: 100%;
+ --copy-button-background-color-active: rgba(168, 168, 176, 0.3);
+ /* Colors for invalid tag notifications */
+ --invalid-tag-background-color: #ffe6e6;
+ --invalid-tag-text-color: #000000;
+}
+/*
* Styles for individual HTML elements.
*
* These are styles that are specific to individual HTML elements. Changing
them affects the style of a particular
* HTML element throughout the page.
*/
-
body {
- background-color:#ffffff;
- color:#353833;
- font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
- font-size:14px;
+ background-color:var(--body-background-color);
+ color:var(--body-text-color);
+ font-family:var(--body-font-family);
+ font-size:var(--body-font-size);
margin:0;
padding:0;
height:100%;
@@ -31,58 +86,59 @@ iframe {
}
a:link, a:visited {
text-decoration:none;
- color:#4A6782;
+ color:var(--link-color);
}
a[href]:hover, a[href]:focus {
text-decoration:none;
- color:#bb7a2a;
-}
-a[name] {
- color:#353833;
+ color:var(--link-color-active);
}
pre {
- font-family:'DejaVu Sans Mono', monospace;
- font-size:14px;
+ font-family:var(--code-font-family);
+ font-size:1em;
}
h1 {
- font-size:20px;
+ font-size:1.428em;
}
h2 {
- font-size:18px;
+ font-size:1.285em;
}
h3 {
- font-size:16px;
+ font-size:1.14em;
}
h4 {
- font-size:15px;
+ font-size:1.072em;
}
h5 {
- font-size:14px;
+ font-size:1.001em;
}
h6 {
- font-size:13px;
+ font-size:0.93em;
+}
+/* Disable font boosting for selected elements */
+h1, h2, h3, h4, h5, h6, div.member-signature {
+ max-height: 1000em;
}
ul {
list-style-type:disc;
}
code, tt {
- font-family:'DejaVu Sans Mono', monospace;
+ font-family:var(--code-font-family);
}
:not(h1, h2, h3, h4, h5, h6) > code,
:not(h1, h2, h3, h4, h5, h6) > tt {
- font-size:14px;
+ font-size:var(--code-font-size);
padding-top:4px;
margin-top:8px;
line-height:1.4em;
}
dt code {
- font-family:'DejaVu Sans Mono', monospace;
- font-size:14px;
+ font-family:var(--code-font-family);
+ font-size:1em;
padding-top:4px;
}
.summary-table dt code {
- font-family:'DejaVu Sans Mono', monospace;
- font-size:14px;
+ font-family:var(--code-font-family);
+ font-size:1em;
vertical-align:top;
padding-top:4px;
}
@@ -90,8 +146,8 @@ sup {
font-size:8px;
}
button {
- font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
- font-size: 14px;
+ font-family: var(--body-font-family);
+ font-size: 1em;
}
/*
* Styles for HTML generated by javadoc.
@@ -102,74 +158,67 @@ button {
/*
* Styles for document title and copyright.
*/
-.clear {
- clear:both;
- height:0;
- overflow:hidden;
-}
.about-language {
float:right;
padding:0 21px 8px 8px;
- font-size:11px;
+ font-size:0.915em;
margin-top:-9px;
height:2.9em;
}
.legal-copy {
margin-left:.5em;
}
-.tab {
- background-color:#0066FF;
- color:#ffffff;
- padding:8px;
- width:5em;
- font-weight:bold;
-}
/*
* Styles for navigation bar.
*/
@media screen {
- .flex-box {
+ div.flex-box {
position:fixed;
display:flex;
flex-direction:column;
height: 100%;
width: 100%;
}
- .flex-header {
+ header.flex-header {
flex: 0 0 auto;
}
- .flex-content {
+ div.flex-content {
flex: 1 1 auto;
overflow-y: auto;
}
}
.top-nav {
- background-color:#4D7A97;
- color:#FFFFFF;
+ background-color:var(--navbar-background-color);
+ color:var(--navbar-text-color);
float:left;
- padding:0;
width:100%;
clear:right;
min-height:2.8em;
- padding-top:10px;
+ padding:10px 0 0 0;
overflow:hidden;
- font-size:12px;
+ font-size:0.857em;
+}
+button#navbar-toggle-button {
+ display:none;
+}
+ul.sub-nav-list-small {
+ display: none;
}
.sub-nav {
- background-color:#dee3e9;
+ background-color:var(--subnav-background-color);
float:left;
width:100%;
overflow:hidden;
- font-size:12px;
+ font-size:0.857em;
}
.sub-nav div {
clear:left;
float:left;
- padding:0 0 5px 6px;
+ padding:6px;
text-transform:uppercase;
}
-.sub-nav .nav-list {
- padding-top:5px;
+.sub-nav .sub-nav-list {
+ padding-top:4px;
}
ul.nav-list {
display:block;
@@ -189,32 +238,27 @@ ul.nav-list li {
}
.sub-nav .nav-list-search {
float:right;
- margin:0 0 0 0;
- padding:5px 6px;
+ margin:0;
+ padding:6px;
clear:none;
-}
-.nav-list-search label {
+ text-align:right;
position:relative;
- right:-16px;
}
ul.sub-nav-list li {
list-style:none;
float:left;
- padding-top:10px;
}
.top-nav a:link, .top-nav a:active, .top-nav a:visited {
- color:#FFFFFF;
+ color:var(--navbar-text-color);
text-decoration:none;
text-transform:uppercase;
}
.top-nav a:hover {
- text-decoration:none;
- color:#bb7a2a;
- text-transform:uppercase;
+ color:var(--link-color-active);
}
.nav-bar-cell1-rev {
- background-color:#F8981D;
- color:#253441;
+ background-color:var(--selected-background-color);
+ color:var(--selected-text-color);
margin: auto 5px;
}
.skip-nav {
@@ -232,30 +276,30 @@ ul.sub-nav-list li {
}
}
/*
- * Styles for page header and footer.
+ * Styles for page header.
*/
.title {
- color:#2c4557;
+ color:var(--title-color);
margin:10px 0;
}
.sub-title {
margin:5px 0 0 0;
}
-.header ul {
- margin:0 0 15px 0;
- padding:0;
+ul.contents-list {
+ margin: 0 0 15px 0;
+ padding: 0;
+ list-style: none;
}
-.header ul li, .footer ul li {
- list-style:none;
- font-size:13px;
+ul.contents-list li {
+ font-size:0.93em;
}
/*
* Styles for headings.
*/
body.class-declaration-page .summary h2,
body.class-declaration-page .details h2,
-body.class-use-page h2,
-body.module-declaration-page .block-list h2 {
+body.class-use-page h2,
+body.module-declaration-page .block-list h2 {
font-style: italic;
padding:0;
margin:15px 0;
@@ -263,8 +307,8 @@ body.module-declaration-page .block-lis
body.class-declaration-page .summary h3,
body.class-declaration-page .details h3,
body.class-declaration-page .summary .inherited-list h2 {
- background-color:#dee3e9;
- border:1px solid #d0d9e0;
+ background-color:var(--subnav-background-color);
+ border:1px solid var(--border-color);
margin:0 0 6px -8px;
padding:7px 5px;
}
@@ -277,16 +321,16 @@ main {
position:relative;
}
dl.notes > dt {
- font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
- font-size:12px;
+ font-family: var(--body-font-family);
+ font-size:0.856em;
font-weight:bold;
margin:10px 0 0 0;
- color:#4E4E4E;
+ color:var(--body-text-color);
}
dl.notes > dd {
margin:5px 10px 10px 0;
- font-size:14px;
- font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+ font-size:1em;
+ font-family:var(--block-font-family)
}
dl.name-value > dt {
margin-left:1px;
@@ -331,121 +375,160 @@ ul.summary-list > li {
margin-bottom:15px;
line-height:1.4;
}
+ul.ref-list {
+ padding:0;
+ margin:0;
+}
+ul.ref-list > li {
+ list-style:none;
+}
.summary-table dl, .summary-table dl dt, .summary-table dl dd {
margin-top:0;
margin-bottom:1px;
}
-ul.see-list, ul.see-list-long {
+ul.tag-list, ul.tag-list-long {
padding-left: 0;
list-style: none;
}
-ul.see-list li {
+ul.tag-list li {
display: inline;
}
-ul.see-list li:not(:last-child):after,
-ul.see-list-long li:not(:last-child):after {
+ul.tag-list li:not(:last-child):after,
+ul.tag-list-long li:not(:last-child):after
+{
content: ", ";
white-space: pre-wrap;
}
+ul.preview-feature-list {
+ list-style: none;
+ margin:0;
+ padding:0.1em;
+ line-height: 1.6em;
+}
/*
* Styles for tables.
*/
.summary-table, .details-table {
width:100%;
border-spacing:0;
- border-left:1px solid #EEE;
- border-right:1px solid #EEE;
- border-bottom:1px solid #EEE;
+ border:1px solid var(--border-color);
+ border-top:0;
padding:0;
}
.caption {
position:relative;
text-align:left;
background-repeat:no-repeat;
- color:#253441;
- font-weight:bold;
+ color:var(--selected-text-color);
clear:none;
overflow:hidden;
- padding:0;
- padding-top:10px;
- padding-left:1px;
+ padding: 10px 0 0 1px;
margin:0;
- white-space:pre;
}
.caption a:link, .caption a:visited {
- color:#1f389c;
+ color:var(--selected-link-color);
}
.caption a:hover,
.caption a:active {
- color:#FFFFFF;
+ color:var(--navbar-text-color);
}
.caption span {
+ font-weight:bold;
white-space:nowrap;
- padding-top:5px;
- padding-left:12px;
- padding-right:12px;
- padding-bottom:7px;
+ padding:5px 12px 7px 12px;
display:inline-block;
float:left;
- background-color:#F8981D;
+ background-color:var(--selected-background-color);
border: none;
height:16px;
}
div.table-tabs {
padding:10px 0 0 1px;
- margin:0;
+ margin:10px 0 0 0;
}
div.table-tabs > button {
- border: none;
- cursor: pointer;
- padding: 5px 12px 7px 12px;
- font-weight: bold;
- margin-right: 3px;
-}
-div.table-tabs > button.active-table-tab {
- background: #F8981D;
- color: #253441;
+ border: none;
+ cursor: pointer;
+ padding: 5px 12px 7px 12px;
+ font-weight: bold;
+ margin-right: 8px;
+}
+div.table-tabs > .active-table-tab {
+ background: var(--selected-background-color);
+ color: var(--selected-text-color);
}
div.table-tabs > button.table-tab {
- background: #4D7A97;
- color: #FFFFFF;
+ background: var(--navbar-background-color);
+ color: var(--navbar-text-color);
+}
+.two-column-search-results {
+ display: grid;
+ grid-template-columns: minmax(400px, max-content) minmax(400px, auto);
+}
+div.checkboxes {
+ line-height: 2em;
+}
+div.checkboxes > span {
+ margin-left: 10px;
+}
+div.checkboxes > label {
+ margin-left: 8px;
+ white-space: nowrap;
+}
+div.checkboxes > label > input {
+ margin: 0 2px;
}
.two-column-summary {
display: grid;
- grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
+ grid-template-columns: minmax(25%, max-content) minmax(25%, auto);
}
.three-column-summary {
display: grid;
- grid-template-columns: minmax(10%, max-content) minmax(15%, max-content)
minmax(15%, auto);
+ grid-template-columns: minmax(15%, max-content) minmax(20%, max-content)
minmax(20%, auto);
+}
+.three-column-release-summary {
+ display: grid;
+ grid-template-columns: minmax(40%, max-content) minmax(10%, max-content)
minmax(40%, auto);
}
.four-column-summary {
display: grid;
- grid-template-columns: minmax(10%, max-content) minmax(10%, max-content)
minmax(10%, max-content) minmax(10%, auto);
+ grid-template-columns: minmax(10%, max-content) minmax(15%, max-content)
minmax(15%, max-content) minmax(15%, auto);
}
-@media screen and (max-width: 600px) {
- .two-column-summary {
+@media screen and (max-width: 1000px) {
+ .four-column-summary {
display: grid;
- grid-template-columns: 1fr;
+ grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}
}
@media screen and (max-width: 800px) {
+ .two-column-search-results {
+ display: grid;
+ grid-template-columns: minmax(40%, max-content) minmax(40%, auto);
+ }
.three-column-summary {
display: grid;
grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
}
- .three-column-summary .col-last {
+ .three-column-release-summary {
+ display: grid;
+ grid-template-columns: minmax(70%, max-content) minmax(30%,
max-content)
+ }
+ .three-column-summary .col-last,
+ .three-column-release-summary .col-last{
grid-column-end: span 2;
}
}
-@media screen and (max-width: 1000px) {
- .four-column-summary {
+@media screen and (max-width: 600px) {
+ .two-column-summary {
display: grid;
- grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
+ grid-template-columns: 1fr;
}
}
.summary-table > div, .details-table > div {
text-align:left;
padding: 8px 3px 3px 7px;
+ overflow-x: auto;
+ scrollbar-width: thin;
}
.col-first, .col-second, .col-last, .col-constructor-name,
.col-summary-item-name {
vertical-align:top;
@@ -454,14 +537,43 @@ div.table-tabs > button.table-tab {
padding-bottom:3px;
}
.table-header {
- background:#dee3e9;
+ background:var(--subnav-background-color);
font-weight: bold;
}
+/* Sortable table columns */
+.table-header[onclick] {
+ cursor: pointer;
+}
+.table-header[onclick]::after {
+ content:"";
+ display:inline-block;
+ background-image:url('data:image/svg+xml; utf8, \
+ <svg xmlns="http://www.w3.org/2000/svg" width="125" height="170"> \
+ <path d="M10.101 57.059L63.019 4.142l52.917 52.917M10.101 86.392l52.917
52.917 52.917-52.917" style="opacity:.35;"/></svg>');
+ background-size:100% 100%;
+ width:9px;
+ height:14px;
+ margin-left:4px;
+ margin-bottom:-3px;
+}
+.table-header[onclick].sort-asc::after {
+ background-image:url('data:image/svg+xml; utf8, \
+ <svg xmlns="http://www.w3.org/2000/svg" width="125" height="170"> \
+ <path d="M10.101 57.059L63.019 4.142l52.917 52.917" style="opacity:.75;"/>
\
+ <path d="M10.101 86.392l52.917 52.917 52.917-52.917"
style="opacity:.35;"/></svg>');
+
+}
+.table-header[onclick].sort-desc::after {
+ background-image:url('data:image/svg+xml; utf8, \
+ <svg xmlns="http://www.w3.org/2000/svg" width="125" height="170"> \
+ <path d="M10.101 57.059L63.019 4.142l52.917 52.917" style="opacity:.35;"/>
\
+ <path d="M10.101 86.392l52.917 52.917 52.917-52.917"
style="opacity:.75;"/></svg>');
+}
.col-first, .col-first {
- font-size:13px;
+ font-size:0.93em;
}
.col-second, .col-second, .col-last, .col-constructor-name,
.col-summary-item-name, .col-last {
- font-size:13px;
+ font-size:0.93em;
}
.col-first, .col-second, .col-constructor-name {
vertical-align:top;
@@ -475,31 +587,21 @@ div.table-tabs > button.table-tab {
.col-first a:link, .col-first a:visited,
.col-second a:link, .col-second a:visited,
.col-constructor-name a:link, .col-constructor-name a:visited,
-.col-summary-item-name a:link, .col-summary-item-name a:visited,
-.constant-values-container a:link, .constant-values-container a:visited,
-.all-classes-container a:link, .all-classes-container a:visited,
-.all-packages-container a:link, .all-packages-container a:visited {
+.col-summary-item-name a:link, .col-summary-item-name a:visited {
font-weight:bold;
}
-.table-sub-heading-color {
- background-color:#EEEEFF;
-}
.even-row-color, .even-row-color .table-header {
- background-color:#FFFFFF;
+ background-color:var(--even-row-color);
}
.odd-row-color, .odd-row-color .table-header {
- background-color:#EEEEEF;
+ background-color:var(--odd-row-color);
}
/*
* Styles for contents.
*/
-.deprecated-content {
- margin:0;
- padding:10px 0;
-}
div.block {
- font-size:14px;
- font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+ font-size:var(--body-font-size);
+ font-family:var(--block-font-family);
}
.col-last div {
padding-top:0;
@@ -511,8 +613,8 @@ div.block {
.package-signature,
.type-signature,
.member-signature {
- font-family:'DejaVu Sans Mono', monospace;
- font-size:14px;
+ font-family:var(--code-font-family);
+ font-size:1em;
margin:14px 0;
white-space: pre-wrap;
}
@@ -535,21 +637,17 @@ div.block {
* Styles for formatting effect.
*/
.source-line-no {
- color:green;
+ /* Color of line numbers in source pages can be set via custom property
below */
+ color:var(--source-linenumber-color, green);
padding:0 30px 0 0;
}
-h1.hidden {
- visibility:hidden;
- overflow:hidden;
- font-size:10px;
-}
.block {
display:block;
margin:0 10px 5px 0;
- color:#474747;
+ color:var(--block-text-color);
}
-.deprecated-label, .descfrm-type-label, .implementation-label,
.member-name-label, .member-name-link,
-.module-label-in-package, .module-label-in-type, .override-specify-label,
.package-label-in-type,
+.deprecated-label, .description-from-type-label, .implementation-label,
.member-name-link,
+.module-label-in-package, .module-label-in-type, .package-label-in-type,
.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link,
.preview-label {
font-weight:bold;
}
@@ -557,8 +655,8 @@ h1.hidden {
font-style:italic;
}
.deprecation-block {
- font-size:14px;
- font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+ font-size:1em;
+ font-family:var(--block-font-family);
border-style:solid;
border-width:thin;
border-radius:10px;
@@ -568,8 +666,8 @@ h1.hidden {
display:inline-block;
}
.preview-block {
- font-size:14px;
- font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+ font-size:1em;
+ font-family:var(--block-font-family);
border-style:solid;
border-width:thin;
border-radius:10px;
@@ -581,6 +679,19 @@ h1.hidden {
div.block div.deprecation-comment {
font-style:normal;
}
+details.invalid-tag, span.invalid-tag {
+ font-size:1em;
+ font-family:var(--block-font-family);
+ color: var(--invalid-tag-text-color);
+ background: var(--invalid-tag-background-color);
+ border: thin solid var(--table-border-color);
+ border-radius:2px;
+ padding: 2px 4px;
+ display:inline-block;
+}
+details summary {
+ cursor: pointer;
+}
/*
* Styles specific to HTML5 elements.
*/
@@ -590,66 +701,93 @@ main, nav, header, footer, section {
/*
* Styles for javadoc search.
*/
+.ui-state-active {
+ /* Overrides the color of selection used in jQuery UI */
+ background: var(--selected-background-color);
+ border: 1px solid var(--selected-background-color);
+ color: var(--selected-text-color);
+}
.ui-autocomplete-category {
font-weight:bold;
font-size:15px;
padding:7px 0 7px 3px;
- background-color:#4D7A97;
- color:#FFFFFF;
-}
-.result-item {
- font-size:13px;
+ background-color:var(--navbar-background-color);
+ color:var(--navbar-text-color);
}
.ui-autocomplete {
max-height:85%;
max-width:65%;
- overflow-y:scroll;
- overflow-x:scroll;
+ overflow-y:auto;
+ overflow-x:auto;
+ scrollbar-width: thin;
white-space:nowrap;
box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}
ul.ui-autocomplete {
position:fixed;
- z-index:999999;
- background-color: #FFFFFF;
+ z-index:1;
+ background-color: var(--body-background-color);
}
-ul.ui-autocomplete li {
+ul.ui-autocomplete li {
float:left;
clear:both;
- width:100%;
+ min-width:100%;
}
-.result-highlight {
- font-weight:bold;
+ul.ui-autocomplete li.ui-static-link {
+ position:sticky;
+ bottom:0;
+ left:0;
+ background: var(--subnav-background-color);
+ padding: 5px 0;
+ font-family: var(--body-font-family);
+ font-size: 0.93em;
+ font-weight: bolder;
+ z-index: 2;
+}
+li.ui-static-link a, li.ui-static-link a:visited {
+ text-decoration:none;
+ color:var(--link-color);
+ float:right;
+ margin-right:20px;
}
.ui-autocomplete .result-item {
font-size: inherit;
}
-#search-input {
+.ui-autocomplete .result-highlight {
+ font-weight:bold;
+}
+#search-input, #page-search-input {
background-image:url('resources/glass.png');
background-size:13px;
background-repeat:no-repeat;
background-position:2px 3px;
+ background-color: var(--search-input-background-color);
+ color: var(--search-input-text-color);
+ border-color: var(--border-color);
padding-left:20px;
- position:relative;
- right:-18px;
- width:400px;
+ width: 250px;
+ margin: 0;
+}
+#search-input {
+ margin-left: 4px;
}
#reset-button {
- background-color: rgb(255,255,255);
+ background-color: transparent;
background-image:url('resources/x.png');
- background-position:center;
background-repeat:no-repeat;
- background-size:12px;
- border:0 none;
- width:16px;
- height:16px;
- position:relative;
- left:-4px;
- top:-4px;
- font-size:0px;
-}
-.watermark {
- color:#545454;
+ background-size:contain;
+ border:0;
+ border-radius:0;
+ width:12px;
+ height:12px;
+ position:absolute;
+ right:12px;
+ top:10px;
+ font-size:0;
+}
+::placeholder {
+ color:var(--search-input-placeholder-color);
+ opacity: 1;
}
.search-tag-desc-result {
font-style:italic;
@@ -660,13 +798,55 @@ ul.ui-autocomplete li {
font-size:12px;
}
.search-tag-result:target {
- background-color:yellow;
+ background-color:var(--search-tag-highlight-color);
+}
+details.page-search-details {
+ display: inline-block;
}
-.module-graph span {
+div#result-container {
+ font-size: 1em;
+}
+div#result-container a.search-result-link {
+ padding: 0;
+ margin: 4px 0;
+ width: 100%;
+}
+#result-container .result-highlight {
+ font-weight:bolder;
+}
+.page-search-info {
+ background-color: var(--subnav-background-color);
+ border-radius: 3px;
+ border: 0 solid var(--border-color);
+ padding: 0 8px;
+ overflow: hidden;
+ height: 0;
+ transition: all 0.2s ease;
+}
+div.table-tabs > button.table-tab {
+ background: var(--navbar-background-color);
+ color: var(--navbar-text-color);
+}
+.page-search-header {
+ padding: 5px 12px 7px 12px;
+ font-weight: bold;
+ margin-right: 3px;
+ background-color:var(--navbar-background-color);
+ color:var(--navbar-text-color);
+ display: inline-block;
+}
+button.page-search-header {
+ border: none;
+ cursor: pointer;
+}
+span#page-search-link {
+ text-decoration: underline;
+}
+.module-graph span, .sealed-graph span {
display:none;
position:absolute;
}
-.module-graph:hover span {
+.module-graph:hover span, .sealed-graph:hover span {
display:block;
margin: -100px 0 0 100px;
z-index: 1;
@@ -679,13 +859,13 @@ section.class-description {
}
.summary section[class$="-summary"], .details section[class$="-details"],
.class-uses .detail, .serialized-class-details {
- padding: 0px 20px 5px 10px;
- border: 1px solid #ededed;
- background-color: #f8f8f8;
+ padding: 0 20px 5px 10px;
+ border: 1px solid var(--border-color);
+ background-color: var(--section-background-color);
}
.inherited-list, section[class$="-details"] .detail {
padding:0 0 5px 8px;
- background-color:#ffffff;
+ background-color:var(--detail-background-color);
border:none;
}
.vertical-separator {
@@ -703,7 +883,7 @@ ul.help-subtoc > li::before {
content: "\2022" ;
padding-right:2px;
}
-span.help-note {
+.help-note {
font-style: italic;
}
/*
@@ -731,7 +911,111 @@ main a[href*="://"]:focus::after {
132-240 240 120 120 240-240 132 132V0z" fill="%23bb7a2a"/>\
</svg>');
}
-
+/*
+ * Styles for header/section anchor links
+ */
+a.anchor-link {
+ opacity: 0;
+ transition: opacity 0.1s;
+}
+:hover > a.anchor-link {
+ opacity: 80%;
+}
+a.anchor-link:hover,
+a.anchor-link:focus-visible,
+a.anchor-link.visible {
+ opacity: 100%;
+}
+a.anchor-link > img {
+ width: 0.9em;
+ height: 0.9em;
+}
+/*
+ * Styles for copy-to-clipboard buttons
+ */
+button.copy {
+ opacity: 70%;
+ border: none;
+ border-radius: 3px;
+ position: relative;
+ background:none;
+ transition: opacity 0.3s;
+ cursor: pointer;
+}
+:hover > button.copy {
+ opacity: 80%;
+}
+button.copy:hover,
+button.copy:active,
+button.copy:focus-visible,
+button.copy.visible {
+ opacity: 100%;
+}
+button.copy img {
+ position: relative;
+ background: none;
+ filter: brightness(var(--copy-icon-brightness));
+}
+button.copy:active {
+ background-color: var(--copy-button-background-color-active);
+}
+button.copy span {
+ color: var(--body-text-color);
+ position: relative;
+ top: -0.1em;
+ transition: all 0.1s;
+ font-size: 0.76rem;
+ line-height: 1.2em;
+ opacity: 0;
+}
+button.copy:hover span,
+button.copy:focus-visible span,
+button.copy.visible span {
+ opacity: 100%;
+}
+/* search page copy button */
+button#page-search-copy {
+ margin-left: 0.4em;
+ padding:0.3em;
+ top:0.13em;
+}
+button#page-search-copy img {
+ width: 1.2em;
+ height: 1.2em;
+ padding: 0.01em 0;
+ top: 0.15em;
+}
+button#page-search-copy span {
+ color: var(--body-text-color);
+ line-height: 1.2em;
+ padding: 0.2em;
+ top: -0.18em;
+}
+div.page-search-info:hover button#page-search-copy span {
+ opacity: 100%;
+}
+/* snippet copy button */
+button.snippet-copy {
+ position: absolute;
+ top: 6px;
+ right: 6px;
+ height: 1.7em;
+ padding: 2px;
+}
+button.snippet-copy img {
+ width: 18px;
+ height: 18px;
+ padding: 0.05em 0;
+}
+button.snippet-copy span {
+ line-height: 1.2em;
+ padding: 0.2em;
+ position: relative;
+ top: -0.5em;
+}
+div.snippet-container:hover button.snippet-copy span {
+ opacity: 100%;
+}
/*
* Styles for user-provided tables.
*
@@ -778,67 +1062,146 @@ table.borderless > thead > tr, table.bor
}
table.plain {
border-collapse: collapse;
- border: 1px solid black;
+ border: 1px solid var(--table-border-color);
}
table.plain > thead > tr, table.plain > tbody tr, table.plain > tr {
background-color: transparent;
}
table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr
> th,
table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr
> td {
- border: 1px solid black;
+ border: 1px solid var(--table-border-color);
}
table.striped {
border-collapse: collapse;
- border: 1px solid black;
+ border: 1px solid var(--table-border-color);
}
table.striped > thead {
- background-color: #E3E3E3;
+ background-color: var(--subnav-background-color);
}
table.striped > thead > tr > th, table.striped > thead > tr > td {
- border: 1px solid black;
+ border: 1px solid var(--table-border-color);
}
table.striped > tbody > tr:nth-child(even) {
- background-color: #EEE
+ background-color: var(--odd-row-color)
}
table.striped > tbody > tr:nth-child(odd) {
- background-color: #FFF
+ background-color: var(--even-row-color)
}
table.striped > tbody > tr > th, table.striped > tbody > tr > td {
- border-left: 1px solid black;
- border-right: 1px solid black;
+ border-left: 1px solid var(--table-border-color);
+ border-right: 1px solid var(--table-border-color);
}
table.striped > tbody > tr > th {
font-weight: normal;
}
/**
- * Tweak font sizes and paddings for small screens.
+ * Tweak style for small screens.
*/
-@media screen and (max-width: 1050px) {
- #search-input {
- width: 300px;
+@media screen and (max-width: 920px) {
+ header.flex-header {
+ max-height: 100vh;
+ overflow-y: auto;
}
-}
-@media screen and (max-width: 800px) {
- #search-input {
- width: 200px;
+ div#navbar-top {
+ height: 2.8em;
+ transition: height 0.35s ease;
+ }
+ ul.nav-list {
+ display: block;
+ width: 40%;
+ float:left;
+ clear: left;
+ margin: 10px 0 0 0;
+ padding: 0;
}
- .top-nav,
- .bottom-nav {
- font-size: 11px;
- padding-top: 6px;
+ ul.nav-list li {
+ float: none;
+ padding: 6px;
+ margin-left: 10px;
+ margin-top: 2px;
}
- .sub-nav {
- font-size: 11px;
+ ul.sub-nav-list-small {
+ display:block;
+ height: 100%;
+ width: 50%;
+ float: right;
+ clear: right;
+ background-color: var(--subnav-background-color);
+ color: var(--body-text-color);
+ margin: 6px 0 0 0;
+ padding: 0;
+ }
+ ul.sub-nav-list-small ul {
+ padding-left: 20px;
+ }
+ ul.sub-nav-list-small a:link, ul.sub-nav-list-small a:visited {
+ color:var(--link-color);
+ }
+ ul.sub-nav-list-small a:hover {
+ color:var(--link-color-active);
+ }
+ ul.sub-nav-list-small li {
+ list-style:none;
+ float:none;
+ padding: 6px;
+ margin-top: 1px;
+ text-transform:uppercase;
+ }
+ ul.sub-nav-list-small > li {
+ margin-left: 10px;
+ }
+ ul.sub-nav-list-small li p {
+ margin: 5px 0;
+ }
+ div#navbar-sub-list {
+ display: none;
+ }
+ .top-nav a:link, .top-nav a:active, .top-nav a:visited {
+ display: block;
+ }
+ button#navbar-toggle-button {
+ width: 3.4em;
+ height: 2.8em;
+ background-color: transparent;
+ display: block;
+ float: left;
+ border: 0;
+ margin: 0 10px;
+ cursor: pointer;
+ font-size: 10px;
}
+ button#navbar-toggle-button .nav-bar-toggle-icon {
+ display: block;
+ width: 24px;
+ height: 3px;
+ margin: 1px 0 4px 0;
+ border-radius: 2px;
+ transition: all 0.1s;
+ background-color: var(--navbar-text-color);
+ }
+ button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1)
{
+ transform: rotate(45deg);
+ transform-origin: 10% 10%;
+ width: 26px;
+ }
+ button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2)
{
+ opacity: 0;
+ }
+ button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3)
{
+ transform: rotate(-45deg);
+ transform-origin: 10% 90%;
+ width: 26px;
+ }
+}
+@media screen and (max-width: 800px) {
.about-language {
padding-right: 16px;
}
- ul.nav-list li,
- .sub-nav .nav-list-search {
- padding: 6px;
+ ul.nav-list li {
+ margin-left: 5px;
}
- ul.sub-nav-list li {
- padding-top: 5px;
+ ul.sub-nav-list-small > li {
+ margin-left: 5px;
}
main {
padding: 10px;
@@ -851,19 +1214,59 @@ table.striped > tbody > tr > th {
-webkit-text-size-adjust: none;
}
}
-@media screen and (max-width: 500px) {
- #search-input {
- width: 150px;
- }
- .top-nav,
- .bottom-nav {
- font-size: 10px;
- }
- .sub-nav {
- font-size: 10px;
- }
+@media screen and (max-width: 400px) {
.about-language {
font-size: 10px;
padding-right: 12px;
}
+}
+@media screen and (max-width: 400px) {
+ .nav-list-search {
+ width: 94%;
+ }
+ #search-input, #page-search-input {
+ width: 70%;
+ }
+}
+@media screen and (max-width: 320px) {
+ .nav-list-search > label {
+ display: none;
+ }
+ .nav-list-search {
+ width: 90%;
+ }
+ #search-input, #page-search-input {
+ width: 80%;
+ }
+}
+
+pre.snippet {
+ background-color: var(--snippet-background-color);
+ color: var(--snippet-text-color);
+ padding: 10px;
+ margin: 12px 0;
+ overflow: auto;
+ white-space: pre;
+}
+div.snippet-container {
+ position: relative;
+}
+@media screen and (max-width: 800px) {
+ pre.snippet {
+ padding-top: 26px;
+ }
+ button.snippet-copy {
+ top: 4px;
+ right: 4px;
+ }
+}
+pre.snippet .italic {
+ font-style: italic;
+}
+pre.snippet .bold {
+ font-weight: bold;
+}
+pre.snippet .highlighted {
+ background-color: var(--snippet-highlight-color);
+ border-radius: 10%;
}
\ No newline at end of file
Modified:
websites/production/commons/content/proper/commons-logging/apidocs/tag-search-index.js
==============================================================================
---
websites/production/commons/content/proper/commons-logging/apidocs/tag-search-index.js
(original)
+++
websites/production/commons/content/proper/commons-logging/apidocs/tag-search-index.js
Wed May 15 16:57:04 2024
@@ -1 +1 @@
-tagSearchIndex = [{"l":"Constant Field
Values","h":"","u":"constant-values.html"},{"l":"Serialized
Form","h":"","u":"serialized-form.html"}];updateSearchResults();
\ No newline at end of file
+tagSearchIndex = [{"l":"Choosing a LogFactory Implementation","h":"package
org.apache.commons.logging","d":"Section","u":"org/apache/commons/logging/package-summary.html#choosing-a-logfactory-implementation-heading"},{"l":"Configuring
the Commons Logging Package","h":"package
org.apache.commons.logging","d":"Section","u":"org/apache/commons/logging/package-summary.html#configuring-the-commons-logging-package-heading"},{"l":"Configuring
the Underlying Logging System","h":"package
org.apache.commons.logging","d":"Section","u":"org/apache/commons/logging/package-summary.html#configuring-the-underlying-logging-system-heading"},{"l":"Constant
Field Values","h":"","u":"constant-values.html"},{"l":"Overview","h":"package
org.apache.commons.logging","d":"Section","u":"org/apache/commons/logging/package-summary.html#overview-heading"},{"l":"Quick
Start Guide","h":"package
org.apache.commons.logging","d":"Section","u":"org/apache/commons/logging/package-summary.html#quick-start-guide-heading"
},{"l":"Serialized Form","h":"","u":"serialized-form.html"},{"l":"The Default
LogFactory Implementation","h":"package
org.apache.commons.logging","d":"Section","u":"org/apache/commons/logging/package-summary.html#the-default-logfactory-implementation-heading"},{"l":"Using
the Logging Package APIs","h":"package
org.apache.commons.logging","d":"Section","u":"org/apache/commons/logging/package-summary.html#using-the-logging-package-apis-heading"}];updateSearchResults();
\ No newline at end of file