org.jboss.solder.core
Annotation Type FullyQualified


@Target(value={TYPE,METHOD,FIELD})
@Retention(value=RUNTIME)
@Documented
public @interface FullyQualified

The annotation @FullQualified, when used on a bean type, producer method or producer field, indicates that the standard bean name that would be assigned should first be prepended with the package in which the bean resides, thus resulting in a fully-qualified bean name (FQBN).

FQBN syntax

 PackageName:
    Package name of type or containing type
 Period:
    A period character (i.e., '.')
 BeanName:
    The standard bean name for the element
 

Processing rules - @FullyQualified is permitted on a bean type, producer method, producer field or a Java package. This annotation is only processed by the extension that provides it when used in combination with @Named on a bean type, producer method or producer field. Though, that does not exclude it from being used as a common annotation for other purposes.

Motivation - The default behavior of @Named (as documented in Named) is the most common use case for application developers. However, framework writers should avoid trampling on the "root" bean namespace. Instead, frameworks should specify qualified names for built-in components. The motivation is the same as qualifying Java types. The @FullyQualified provides this facility without sacrificing type-safety.

Author:
Dan Allen
See Also:
javax.inject.Named}

Optional Element Summary
 Class<?> value
          A class from the package that should be used as the namespace that is prepended to the bean name.
 

value

public abstract Class<?> value
A class from the package that should be used as the namespace that is prepended to the bean name. The special value Class.class specifies that the current package should be used.

Default:
java.lang.Class.class


Copyright © 2011 Seam Framework. All Rights Reserved.