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

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

There is a newer version: 2.0.SP1
Show newest version
package javax.enterprise.inject.spi;

import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.Set;

/**
 * The BeanAttributes interface exposes the basic attributes of a bean.
 * 
 * @author Pete Muir
 * 
 * @param  the class of the bean instance
 */
public interface BeanAttributes {

   /**
    * Obtains the {@linkplain javax.enterprise.inject bean types} of the bean.
    * 
    * @return the {@linkplain javax.enterprise.inject bean types}
    */
   public Set getTypes();

   /**
    * Obtains the {@linkplain javax.inject.Qualifier qualifiers} of the bean.
    * 
    * @return the {@linkplain javax.inject.Qualifier qualifiers}
    */
   public Set getQualifiers();

   /**
    * Obtains the {@linkplain javax.enterprise.context scope} of the bean.
    * 
    * @return the {@linkplain javax.enterprise.context scope}
    */
   public Class getScope();

   /**
    * Obtains the {@linkplain javax.enterprise.inject EL name} of a bean, if it has one.
    * 
    * @return the {@linkplain javax.enterprise.inject EL name}
    */
   public String getName();

   /**
    * Obtains the {@linkplain javax.enterprise.inject.Stereotype stereotypes} of the bean.
    * 
    * @return the set of {@linkplain javax.enterprise.inject.Stereotype stereotypes}
    */
   public Set> getStereotypes();

   /**
    * Determines if the bean is an {@linkplain javax.enterprise.inject.Alternative alternative}.
    * 
    * @return true if the bean is an {@linkplain javax.enterprise.inject.Alternative
    *         alternative}, and false otherwise.
    */
   public boolean isAlternative();

   /**
    * Determines if {@link javax.enterprise.context.spi.Contextual#create(CreationalContext)}
    * sometimes return a null value.
    * 
    * @return true if the {@code create()} method may return a null value, and
    *         false otherwise
    */
   public boolean isNullable();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy