
com.sun.faces.spi.DiscoverableInjectionProvider Maven / Gradle / Ivy
/*
* Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
* http://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: GNU General Public License,
* version 2 with the GNU Classpath Exception, which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
package com.sun.faces.spi;
import com.sun.faces.util.Util;
/**
*
* InjectionProvider
s that implement this interface can be configured via
* META-INF/services/com.sun.faces.spi.injectionprovider
.
*
*
* The format of the configuration entries is:
*
*
* <InjectionProviderClassName>:<DelegateClassName>
*
*
*
* Example:
*
* com.sun.faces.vendor.GlassFishInjectionProvider:com.sun.enterprise.InjectionManager
*
*
*
* Multiple DiscoverableInjectionProvider
s can be configured within a single services entry.
*
*/
public abstract class DiscoverableInjectionProvider implements InjectionProvider {
/**
* @param delegateClass the name of the delegate used by the InjectionProvider
implementation.
* @return returns true
if the InjectionProvider
instance is appropriate for the container its
* currently deployed within, otherwise return false
*/
public static boolean isInjectionFeatureAvailable(String delegateClass) {
try {
Util.loadClass(delegateClass, null);
return true;
} catch (Exception e) {
return false;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy