//
// ========================================================================
// Copyright (c) 1995-2020 Mort Bay Consulting Pty Ltd and others.
//
// This program and the accompanying materials are made available under
// the terms of the Eclipse Public License 2.0 which is available at
// https://www.eclipse.org/legal/epl-2.0
//
// This Source Code may also be made available under the following
// Secondary Licenses when the conditions for such availability set
// forth in the Eclipse Public License, v. 2.0 are satisfied:
// the Apache License v2.0 which is available at
// https://www.apache.org/licenses/LICENSE-2.0
//
// SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
// ========================================================================
//

package org.eclipse.jetty.util;

ClassVisibilityChecker Interface to be implemented by classes capable of checking class visibility for a context.
/** * ClassVisibilityChecker * * Interface to be implemented by classes capable of checking class visibility * for a context. */
public interface ClassVisibilityChecker {
Is the class a System Class. A System class is a class that is visible to a webapplication, but that cannot be overridden by the contents of WEB-INF/lib or WEB-INF/classes
Params:
  • clazz – The fully qualified name of the class.
Returns:True if the class is a system class.
/** * Is the class a System Class. * A System class is a class that is visible to a webapplication, * but that cannot be overridden by the contents of WEB-INF/lib or * WEB-INF/classes * * @param clazz The fully qualified name of the class. * @return True if the class is a system class. */
boolean isSystemClass(Class<?> clazz);
Is the class a Server Class. A Server class is a class that is part of the implementation of the server and is NIT visible to a webapplication. The web application may provide it's own implementation of the class, to be loaded from WEB-INF/lib or WEB-INF/classes
Params:
  • clazz – The fully qualified name of the class.
Returns:True if the class is a server class.
/** * Is the class a Server Class. * A Server class is a class that is part of the implementation of * the server and is NIT visible to a webapplication. The web * application may provide it's own implementation of the class, * to be loaded from WEB-INF/lib or WEB-INF/classes * * @param clazz The fully qualified name of the class. * @return True if the class is a server class. */
boolean isServerClass(Class<?> clazz); }