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: 3.0.0.Alpha1
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
 * @since 1.1
 * @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();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy