Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * 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
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.
package org.jboss.weld.injection.spi;
Provides callbacks to the container when Weld performs injection on an InjectionTarget, managed bean or session bean This service may be used to provide EE-style injection. The container must respect any modifications made to type via the container lifecycle events. Container lifecycle events may alter the annotations placed on the type, it's members, and the formal parameters of it's members. InjectionContext.getAnnotatedType() gives access to the modified state of the type. InjectionServices is a per-BeanDeploymentArchive service.

Pete Muir
Jozef Hartinger
public interface InjectionServices extends Service {

Callback for injection. Call InjectionContext.proceed() to cause CDI-style injection to occur.

    <T> void aroundInject(InjectionContext<T> injectionContext);


This method is invoked during Weld bootstrap and allows an integrator to process an javax.enterprise.inject.spi.InjectionTarget that may be injected at runtime. The implementation may want to read the metadata on resource injection point and cache it so that it does not need to repeat metadata parsing on each aroundInject(org.jboss.weld.injection.spi.InjectionContext) invocation.

Furthermore, the integrator is responsible for validating resource injection points (as defined in CDI 1.1 3.7.1).

For each resource injection of a type:

  • @Resource
  • @PersistenceContext
  • @PersistenceUnit
  • @EJB injection
  • @WebServiceRef

the implementation must validate the type of the injection point. If the injection point type differs from the type of the matching object in the Java EE component environment, the implementation throws javax.enterprise.inject.spi.DefinitionException.

Note that this method may be called at runtime if the application uses an javax.enterprise.inject.spi.InjectionTargetFactory to create injection target instances at runtime.

    <T> void registerInjectionTarget(InjectionTarget<T> injectionTargetAnnotatedType<T> annotatedType);
New to GrepCode? Check out our FAQ X