All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.enterprise.inject.spi.AfterBeanDiscovery Maven / Gradle / Ivy

/*
 * JBoss, Home of Professional Open Source
 * Copyright 2010, Red Hat, Inc., and individual contributors
 * by the @authors tag. See the copyright.txt in the distribution for a
 * full listing of individual contributors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,  
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package javax.enterprise.inject.spi;

import javax.enterprise.context.spi.Context;

/**
 * 

* The event type of the second event fired by the container when it has fully * completed the bean discovery process, validated that there are no definition * errors relating to the discovered beans, and registered * {@link javax.enterprise.inject.spi.Bean} and * {@link javax.enterprise.inject.spi.ObserverMethod} objects for the discovered * beans, but before detecting deployment problems. *

*

* A portable extension may take advantage of this event to register * {@linkplain javax.enterprise.inject.spi.Bean beans}, * {@linkplain javax.enterprise.inject.spi.Interceptor interceptors}, * {@linkplain javax.decorator.Decorator decorators}, * {@linkplain javax.enterprise.event.Observes observer methods} and * {@linkplain javax.enterprise.context custom context} objects with the * container. *

* *
 *     void afterBeanDiscovery(@Observes AfterBeanDiscovery event, BeanManager manager) { ... }
 * 
*

* If any observer method of the {@code AfterBeanDiscovery} event throws an * exception, the exception is treated as a definition error by the container. *

* * @author David Allen */ public interface AfterBeanDiscovery { /** * Registers a definition error with the container, causing the container to * abort deployment after all observers have been notified. * * @param t The definition error as a {@link java.lang.Throwable} */ public void addDefinitionError(Throwable t); /** * Fires an event of type {@link javax.enterprise.inject.spi.ProcessBean} * containing the given {@link javax.enterprise.inject.spi.Bean} and then * registers the {@link javax.enterprise.inject.spi.Bean} with the container, * thereby making it available for injection into other beans. The given * {@link javax.enterprise.inject.spi.Bean} may implement * {@link javax.enterprise.inject.spi.Interceptor} or * {@link javax.decorator.Decorator}. * * @param bean The bean to add to the deployment */ public void addBean(Bean bean); /** * Fires an event of type * {@link javax.enterprise.inject.spi.ProcessObserverMethod} containing the * given {@link javax.enterprise.inject.spi.ObserverMethod} and then * registers the {@link javax.enterprise.inject.spi.ObserverMethod} with the * container, thereby making it available for event notifications. * * @param observerMethod The custom observer method to add to the deployment */ public void addObserverMethod(ObserverMethod observerMethod); /** * Registers a custom {@link javax.enterprise.context.spi.Context} object * with the container. * * @param context The custom context to add to the deployment */ public void addContext(Context context); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy