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
  * 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 java.util.Set;
 

Provides access to metadata about an injection point. May represent an injected field or a parameter of a bean constructor, initializer method, producer method, disposer method or observer method.

If the injection point is a dynamically selected reference obtained then the metadata obtain reflects the injection point of the javax.enterprise.inject.Instance, with the required type and any additional required qualifers defined by Instance.select().

Occasionally, a bean with scope &.064;Dependent needs to access metadata relating to the object to which it belongs. The bean may inject an InjectionPoint representing the injection point into which the bean was injected.

For example, the following producer method creates injectable Logger s. The log category of a Logger depends upon the class of the object into which it is injected.

 @Produces
 Logger createLogger(InjectionPoint injectionPoint) {
     return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
 }
 

Only dependent objects, may obtain information about the injection point to which they belong.

Author(s):
Gavin King
Pete Muir
 
 public interface InjectionPoint {

    
Get the required type of injection point.

Returns:
the required type
 
     public Type getType();

    
Get the required qualifiers of the injection point.

Returns:
the required qualifiers
 
     public Set<AnnotationgetQualifiers();

    
Get the Bean object representing the bean that defines the injection point. If the injection point does not belong to a bean, return a null value.

Returns:
the Bean object representing bean that defines the injection point, of null if the injection point does not belong to a bean
 
     public Bean<?> getBean();

    
Get the java.lang.reflect.Field object in the case of field injection, the java.lang.reflect.Method object in the case of method parameter injection or the java.lang.reflect.Constructor object in the case of constructor parameter injection.

Returns:
the member
 
     public Member getMember();

    
Obtain an instance of AnnotatedField or AnnotatedParameter, depending upon whether the injection point is an injected field or a constructor/method parameter.

Returns:
an AnnotatedField or AnnotatedParameter
    public Annotated getAnnotated();

    
Determines if the injection point is a decorator delegate injection point.

Returns:
true if the injection point is a decorator delegate injection point, and false otherwise
    public boolean isDelegate();

    
Determines if the injection is a transient field.

Returns:
true if the injection point is a transient field, and false otherwise
    public boolean isTransient();
New to GrepCode? Check out our FAQ X