Fixed javadocs.

Javadoc generation for the jetty-quic-quiche-* modules may need
to use a <profile> since the APIs used depend on the Java version.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
This commit is contained in:
Simone Bordet 2022-08-13 17:44:07 +02:00
parent c011126e63
commit 601cba0b18
No known key found for this signature in database
GPG Key ID: 1677D141BCF3584D
25 changed files with 54 additions and 89 deletions

View File

@ -150,11 +150,6 @@
<artifactId>jetty-annotations</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-ant</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-alpn-client</artifactId>

View File

@ -92,7 +92,7 @@ public class Content
/**
* <p>A source of content that can be read with a read/demand model.</p>
* <a id="idiom"><h3>Idiomatic usage</h3></a>
* <h2><a id="idiom">Idiomatic usage</a></h2>
* <p>The read/demand model typical usage is the following:</p>
* <pre>{@code
* public void onContentAvailable() {
@ -519,6 +519,7 @@ public class Content
/**
* <p>Returns the chunk that follows a chunk that has been consumed.</p>
* <table>
* <caption>Next Chunk</caption>
* <thead>
* <tr>
* <th>Input Chunk</th>
@ -531,8 +532,8 @@ public class Content
* <td>{@code null}</td>
* </tr>
* <tr>
* <td>{@link Error}</td>
* <td>{@link Error}</td>
* <td>{@link Error Error}</td>
* <td>{@link Error Error}</td>
* </tr>
* <tr>
* <td>{@link #isLast()}</td>

View File

@ -26,14 +26,13 @@ import java.util.function.Supplier;
import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.util.component.AbstractLifeCycle;
import org.eclipse.jetty.util.component.LifeCycle;
import org.eclipse.jetty.util.resource.PathResource;
import org.eclipse.jetty.util.resource.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* <p>This will approve any alias to anything inside of the {@link ContextHandler}s resource base which
* is not protected by a protected target as defined by {@link ContextHandler#getProtectedTargets()} at start.</p>
* is not protected by a protected target as defined by the {@link ContextHandler} protected targets at start.</p>
* <p>Aliases approved by this may still be able to bypass SecurityConstraints, so this class would need to be extended
* to enforce any additional security constraints that are required.</p>
*/

View File

@ -215,7 +215,7 @@ import static java.lang.invoke.MethodType.methodType;
* </td>
* </tr>
*
* // TODO ATTRIBUTE LOGGING
* <!-- TODO ATTRIBUTE LOGGING -->
* <tr>
* <td>%r</td>
* <td>

View File

@ -121,7 +121,7 @@ public interface Request extends Attributes, Content.Source
/**
* an ID unique within the lifetime scope of the {@link ConnectionMetaData#getId()}).
* This may be a protocol ID (eg HTTP/2 stream ID) or it may be unrelated to the protocol.
* @see HttpStream#getId();
* @see HttpStream#getId()
*/
String getId();

View File

@ -16,6 +16,7 @@ package org.eclipse.jetty.server.handler;
import java.nio.file.Files;
import java.nio.file.Path;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.handler.ContextHandler.AliasCheck;
import org.eclipse.jetty.util.resource.PathResource;
import org.eclipse.jetty.util.resource.Resource;
@ -24,9 +25,10 @@ import org.slf4j.LoggerFactory;
/**
* Symbolic Link AliasChecker.
* <p>An instance of this class can be registered with {@link ContextHandler#addAliasCheck(AliasCheck)}
* to check resources that are aliased to other locations. The checker uses the
* Java {@link Files#readSymbolicLink(Path)} and {@link Path#toRealPath(java.nio.file.LinkOption...)}
* <p>An instance of this class can be registered with {@link Handler} subclasses
* to check resources that are aliased to other locations.</p>
* <p>The checker uses the Java {@link Files#readSymbolicLink(Path)} and
* {@link Path#toRealPath(java.nio.file.LinkOption...)}
* APIs to check if a file is aliased with symbolic links.</p>
* @deprecated use {@link org.eclipse.jetty.server.SymlinkAllowedResourceAliasChecker} instead.
*/

View File

@ -224,7 +224,7 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi
// pick a new unique ID!
String id = null;
try (AutoLock l = _lock.lock())
try (AutoLock ignored = _lock.lock())
{
while (id == null || id.length() == 0)
{
@ -239,15 +239,10 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi
{
if (LOG.isDebugEnabled())
LOG.debug("Reseeding {}", this);
if (_random instanceof SecureRandom)
{
SecureRandom secure = (SecureRandom)_random;
if (_random instanceof SecureRandom secure)
secure.setSeed(secure.generateSeed(8));
}
else
{
_random.setSeed(_random.nextLong() ^ System.currentTimeMillis() ^ seedTerm ^ Runtime.getRuntime().freeMemory());
}
}
long r1 = _weakRandom
@ -263,7 +258,7 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi
if (!StringUtil.isBlank(_workerName))
id = _workerName + id;
id = id + Long.toString(COUNTER.getAndIncrement());
id = id + COUNTER.getAndIncrement();
}
}
return id;
@ -317,7 +312,7 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi
_workerName = "node" + (inst == null ? "0" : inst);
}
_workerAttr = (_workerName != null && _workerName.startsWith("$")) ? _workerName.substring(1) : null;
_workerAttr = _workerName.startsWith("$") ? _workerName.substring(1) : null;
if (_houseKeeper == null)
{
@ -405,8 +400,6 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi
/**
* Remove an id from use by telling all contexts to remove a session with this id.
*
* @see org.eclipse.jetty.sessionIdManager#expireAll(java.lang.String)
*/
@Override
public void expireAll(String id)
@ -503,7 +496,7 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi
//This method can be called on shutdown when the handlers are STOPPING, so only
//check that they are not already stopped
if (!sm.isStopped() && !sm.isFailed())
managers.add((SessionManager)sm);
managers.add(sm);
}
return managers;

View File

@ -19,8 +19,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* NullSessionCache
*
* Does not actually cache any Session objects. Useful for testing.
* Also useful if you do not want to share Session objects with the same id between
* simultaneous requests: note that this means that context forwarding can't share
@ -30,9 +28,6 @@ public class NullSessionCache extends AbstractSessionCache
{
private static final Logger LOG = LoggerFactory.getLogger(NullSessionCache.class);
/**
* @param handler The SessionHandler related to this SessionCache
*/
public NullSessionCache(SessionManager manager)
{
super(manager);
@ -47,8 +42,7 @@ public class NullSessionCache extends AbstractSessionCache
@Override
public Session newSession(SessionData data)
{
Session session = new Session(getSessionManager(), data);
return session;
return new Session(getSessionManager(), data);
}
@Override

View File

@ -253,7 +253,7 @@ public class ExceptionUtil
/**
* <p>Combine two, possible null, {@link Throwable}s in a style to facilitate handling
* multiple exceptions that are accumulated as suppressed exceptions. This is freqently
* used in the following pattern:
* used in the following pattern:</p>
* <pre>
* Throwable multiException = null;
* for (Runnable task : manyThings)
@ -269,7 +269,6 @@ public class ExceptionUtil
* }
* MultiException.ifExceptionalThrow(multiException);
* </pre>
* </p>
* @param t1 A Throwable or null
* @param t2 Another Throwable or null
* @return t1 with t2 suppressed, or null.

View File

@ -1686,7 +1686,7 @@ public final class URIUtil
* <p>
* This correction is limited to only the {@code file:/} substring in the URI.
* If there is a {@code file:/<not-a-slash>} detected, that substring is corrected to
* {@code file:///<not-a-slash>}, all other uses of {@code file:}, and URIs without a {@core file:}
* {@code file:///<not-a-slash>}, all other uses of {@code file:}, and URIs without a {@code file:}
* substring are left alone.
* </p>
*

View File

@ -16,7 +16,6 @@ package org.eclipse.jetty.util.resource;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URI;
import java.nio.channels.ReadableByteChannel;
import java.nio.file.Path;
@ -107,7 +106,6 @@ public class ResourceCollection extends Resource
* <li>is a directory that exists in several of the collection, then a ResourceCollection of those directories is returned</li>
* <li>do not exist in any of the collection, then a new non existent resource relative to the first in the collection is returned.</li>
* </ul>
* @throws MalformedURLException if the resolution of the path fails because the input path parameter is malformed against any of the collection
*/
@Override
public Resource resolve(String subUriPath)

View File

@ -13,23 +13,8 @@
package org.eclipse.jetty.ee10.demos;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Map;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.CustomRequestLog;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.server.handler.gzip.GzipHandler;
import org.eclipse.jetty.util.ajax.JSON;
/**
* Frequently many handlers are combined together to handle different aspects of
@ -43,16 +28,16 @@ import org.eclipse.jetty.util.ajax.JSON;
* </ul>
* Multiple handlers may be combined with:
* <ul>
* <li>{@link HandlerWrapper} which will nest one handler inside another. In
* <li>{@link Handler.Wrapper} which will nest one handler inside another. In
* this example, the HelloHandler is nested inside a HandlerWrapper that sets
* the greeting as a request attribute.
* <li>{@link HandlerList} which will call a collection of handlers until the
* <li>{@link Handler.Collection} which will call a collection of handlers until the
* request is marked as handled. In this example, a list is used to combine the
* param handler (which only handles the request if there are parameters) and
* the wrapper handler. Frequently handler lists are terminated with the
* {@link DefaultHandler}, which will generate a suitable 404 response if the
* request has not been handled.
* <li>{@link HandlerCollection} which will call each handler regardless if the
* <li>{@link Handler.Collection} which will call each handler regardless if the
* request has been handled or not. Typically this is used to always pass a
* request to the logging handler.
* </ul>

View File

@ -19,9 +19,10 @@ import javax.security.auth.Subject;
import jakarta.security.auth.message.MessageInfo;
import jakarta.security.auth.message.config.ServerAuthConfig;
import jakarta.security.auth.message.config.ServerAuthContext;
import org.eclipse.jetty.ee10.security.jaspi.provider.JaspiAuthConfigProvider;
/**
* @deprecated use {@link org.eclipse.jetty.security.jaspi.provider.JaspiAuthConfigProvider}.
* @deprecated use {@link JaspiAuthConfigProvider}.
*/
@Deprecated
public class SimpleAuthConfig implements ServerAuthConfig

View File

@ -568,7 +568,7 @@ public class ConstraintSecurityHandler extends SecurityHandler implements Constr
* <li>Mappings with keys of the form "&lt;method&gt;.&lt;method&gt;.&lt;method&gt;.omission" that indicates it will match every method name EXCEPT those given</li>
* </ol>
*
* @see SecurityHandler#prepareConstraintInfo(java.lang.String, Request)
* @see SecurityHandler#prepareConstraintInfo(String, HttpServletRequest)
*/
@Override
protected RoleInfo prepareConstraintInfo(String pathInContext, HttpServletRequest request)

View File

@ -19,22 +19,17 @@ import javax.security.auth.Subject;
/**
* Default Identity Service implementation.
* This service handles only role reference maps passed in an
* associated {@link UserIdentity.Scope}. If there are roles
* associated {@link UserIdentity}. If there are roles
* refs present, then associate will wrap the UserIdentity with one
* that uses the role references in the
* {@link UserIdentity#isUserInRole(String, UserIdentity.Scope)}
* {@link UserIdentity#isUserInRole(String)}
* implementation. All other operations are effectively noops.
*/
public class DefaultIdentityService implements IdentityService
{
public DefaultIdentityService()
{
}
/**
* If there are roles refs present in the scope, then wrap the UserIdentity
* with one that uses the role references in the {@link UserIdentity#isUserInRole(String, UserIdentity.Scope)}
* with one that uses the role references in the {@link UserIdentity#isUserInRole(String)}
*/
@Override
public Object associate(UserIdentity user)

View File

@ -28,7 +28,7 @@ public interface IdentityService
/**
* Associate a user identity with the current thread.
* This is called with as a thread enters the
* {@link SecurityHandler#handle(String, Request, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)}
* {@link SecurityHandler#handle(Request)}
* method and then again with a null argument as that call exits.
*
* @param user The current user or null for no user to associated.

View File

@ -56,7 +56,7 @@ public abstract class LoginAuthenticator implements Authenticator
*
* @param username the username of the client to be authenticated
* @param password the user's credential
* @param servletRequest the inbound request that needs authentication
* @param request the inbound request that needs authentication
*/
public UserIdentity login(String username, Object password, Request request)
{

View File

@ -113,8 +113,8 @@ import org.slf4j.LoggerFactory;
* <dd>a comma-separated list of IP addresses that will not be rate limited</dd>
* <dt>managedAttr</dt>
* <dd>if set to true, then this servlet is set as a {@link ServletContext} attribute with the
* filter name as the attribute name. This allows context external mechanism (eg JMX via {@link ContextHandler#MANAGED_ATTRIBUTES}) to
* manage the configuration of the filter.</dd>
* filter name as the attribute name. This allows context external mechanism (eg JMX via {@link ContextHandler} managed attribute)
* to manage the configuration of the filter.</dd>
* <dt>tooManyCode</dt>
* <dd>The status code to send if there are too many requests. By default is 429 (too many requests), but 503 (Unavailable) is
* another option</dd>

View File

@ -66,9 +66,9 @@ import org.slf4j.LoggerFactory;
* avoided if the semaphore is shortly available. If the semaphore cannot be obtained, the request will be suspended
* for the default suspend period of the container or the valued set as the "suspendMs" init parameter.
* <p>
* If the "managedAttr" init parameter is set to true, then this servlet is set as a {@link ServletContext} attribute with the
* filter name as the attribute name. This allows context external mechanism (eg JMX via {@link ContextHandler#MANAGED_ATTRIBUTES}) to
* manage the configuration of the filter.
* If the "managedAttr" init parameter is set to true, then this servlet is set as a {@link ServletContext} attribute
* with the filter name as the attribute name. This allows context external mechanism (eg JMX via {@link ContextHandler}
* managed attribute) to manage the configuration of the filter.
*/
@ManagedObject("Quality of Service Filter")
public class QoSFilter implements Filter

View File

@ -19,9 +19,10 @@ import javax.security.auth.Subject;
import jakarta.security.auth.message.MessageInfo;
import jakarta.security.auth.message.config.ServerAuthConfig;
import jakarta.security.auth.message.config.ServerAuthContext;
import org.eclipse.jetty.ee9.security.jaspi.provider.JaspiAuthConfigProvider;
/**
* @deprecated use {@link org.eclipse.jetty.security.jaspi.provider.JaspiAuthConfigProvider}.
* @deprecated use {@link JaspiAuthConfigProvider}.
*/
@Deprecated
public class SimpleAuthConfig implements ServerAuthConfig

View File

@ -113,8 +113,8 @@ import org.slf4j.LoggerFactory;
* <dd>a comma-separated list of IP addresses that will not be rate limited</dd>
* <dt>managedAttr</dt>
* <dd>if set to true, then this servlet is set as a {@link ServletContext} attribute with the
* filter name as the attribute name. This allows context external mechanism (eg JMX via {@link ContextHandler#MANAGED_ATTRIBUTES}) to
* manage the configuration of the filter.</dd>
* filter name as the attribute name. This allows context external mechanism (eg JMX via {@link ContextHandler} managed attribute)
* to manage the configuration of the filter.</dd>
* <dt>tooManyCode</dt>
* <dd>The status code to send if there are too many requests. By default is 429 (too many requests), but 503 (Unavailable) is
* another option</dd>

View File

@ -66,9 +66,9 @@ import org.slf4j.LoggerFactory;
* avoided if the semaphore is shortly available. If the semaphore cannot be obtained, the request will be suspended
* for the default suspend period of the container or the valued set as the "suspendMs" init parameter.
* <p>
* If the "managedAttr" init parameter is set to true, then this servlet is set as a {@link ServletContext} attribute with the
* filter name as the attribute name. This allows context external mechanism (eg JMX via {@link ContextHandler#MANAGED_ATTRIBUTES}) to
* manage the configuration of the filter.
* If the "managedAttr" init parameter is set to true, then this servlet is set as a {@link ServletContext} attribute
* with the filter name as the attribute name. This allows context external mechanism (eg JMX via {@link ContextHandler}
* managed attribute) to manage the configuration of the filter.
*/
@ManagedObject("Quality of Service Filter")
public class QoSFilter implements Filter

View File

@ -32,6 +32,7 @@ import org.eclipse.jetty.client.HttpRequest;
import org.eclipse.jetty.client.HttpResponse;
import org.eclipse.jetty.client.api.Request;
import org.eclipse.jetty.ee9.websocket.api.Session;
import org.eclipse.jetty.ee9.websocket.api.StatusCode;
import org.eclipse.jetty.ee9.websocket.api.WebSocketBehavior;
import org.eclipse.jetty.ee9.websocket.api.WebSocketContainer;
import org.eclipse.jetty.ee9.websocket.api.WebSocketPolicy;
@ -389,7 +390,7 @@ public class WebSocketClient extends ContainerLifeCycle implements WebSocketPoli
}
/**
* The timeout to allow all remaining open Sessions to be closed gracefully using the close code {@link org.eclipse.jetty.ee9.websocket.api.StatusCode#SHUTDOWN}.
* The timeout to allow all remaining open Sessions to be closed gracefully using the close code {@link StatusCode#SHUTDOWN}.
* @param stopTimeout the time in ms to wait for the graceful close, use a value less than or equal to 0 to not gracefully close.
*/
public void setStopTimeout(long stopTimeout)

View File

@ -32,6 +32,7 @@ import java.util.concurrent.Executor;
import org.eclipse.jetty.ee9.websocket.api.BatchMode;
import org.eclipse.jetty.ee9.websocket.api.Frame;
import org.eclipse.jetty.ee9.websocket.api.Session;
import org.eclipse.jetty.ee9.websocket.api.WebSocketAdapter;
import org.eclipse.jetty.ee9.websocket.api.WebSocketConnectionListener;
import org.eclipse.jetty.ee9.websocket.api.WebSocketContainer;
import org.eclipse.jetty.ee9.websocket.api.WebSocketFrameListener;
@ -67,13 +68,13 @@ import org.eclipse.jetty.websocket.core.internal.util.ReflectUtils;
* Will create a {@link org.eclipse.jetty.websocket.core.FrameHandler} suitable for use with classes/objects that:
* </p>
* <ul>
* <li>Is &#64;{@link org.eclipse.jetty.ee9.websocket.api.annotations.WebSocket} annotated</li>
* <li>Extends {@link org.eclipse.jetty.ee9.websocket.api.WebSocketAdapter}</li>
* <li>Implements {@link org.eclipse.jetty.ee9.websocket.api.WebSocketListener}</li>
* <li>Implements {@link org.eclipse.jetty.ee9.websocket.api.WebSocketConnectionListener}</li>
* <li>Implements {@link org.eclipse.jetty.ee9.websocket.api.WebSocketPartialListener}</li>
* <li>Implements {@link org.eclipse.jetty.ee9.websocket.api.WebSocketPingPongListener}</li>
* <li>Implements {@link org.eclipse.jetty.ee9.websocket.api.WebSocketFrameListener}</li>
* <li>Is &#64;{@link WebSocket} annotated</li>
* <li>Extends {@link WebSocketAdapter}</li>
* <li>Implements {@link WebSocketListener}</li>
* <li>Implements {@link WebSocketConnectionListener}</li>
* <li>Implements {@link WebSocketPartialListener}</li>
* <li>Implements {@link WebSocketPingPongListener}</li>
* <li>Implements {@link WebSocketFrameListener}</li>
* </ul>
*/
public class JettyWebSocketFrameHandlerFactory extends ContainerLifeCycle

View File

@ -634,7 +634,7 @@
<configuration>
<verbose>true</verbose>
<debug>true</debug>
<source>11</source>
<source>17</source>
<charset>UTF-8</charset>
<docencoding>UTF-8</docencoding>
<encoding>UTF-8</encoding>