javax.enterprise.inject
Annotation Type Stereotype


@Retention(value=RUNTIME)
@Target(value=ANNOTATION_TYPE)
@Documented
public @interface Stereotype

Specifies that an annotation type is a stereotype.

In many systems, use of architectural patterns produces a set of recurring bean roles. A stereotype allows a framework developer to identify such a role and declare some common metadata for beans with that role in a central place.

A bean may declare zero, one or multiple stereotypes, by applying the stereotype annotation to the bean class or producer method or field.

A stereotype encapsulates any combination of:

The default scope of a stereotype is defined by annotating the stereotype with a scope type. A stereotype may declare at most one scope. If a bean explicitly declares a scope, any default scopes declared by its stereotypes are ignored.

 @RequestScoped
 @Stereotype 
 @Target(TYPE) 
 @Retention(RUNTIME) 
 public @interface Action {}
 

The interceptor bindings of a stereotype are defined by annotating the stereotype with the interceptor binding types. A stereotype may declare zero, one or multiple interceptor bindings. An interceptor binding declared by a stereotype is inherited by any bean that declares that stereotype.

 @RequestScoped 
 @Secure 
 @Transactional 
 @Stereotype 
 @Target(TYPE) 
 @Retention(RUNTIME) 
 public @interface Action {}
 

A stereotype may also specify that:

A stereotype may declare an empty @Named annotation, which specifies that every bean with the stereotype has a defaulted name when a name is not explicitly specified by the bean.

 @RequestScoped 
 @Named 
 @Secure 
 @Transactional 
 @Stereotype 
 @Target(TYPE) 
 @Retention(RUNTIME) 
 public @interface Action {}
 

A stereotype may declare an @Alternative annotation, which specifies that every bean with the stereotype is an alternative.

 @Alternative 
 @Stereotype 
 @Target(TYPE) 
 @Retention(RUNTIME) 
 public @interface Mock {}
 

A stereotype may declare other stereotypes. Stereotype declarations are transitive. A stereotype declared by a second stereotype is inherited by all beans and other stereotypes that declare the second stereotype.

Author:
Pete Muir, Gavin King
See Also:
the built-in stereotype @Model



Copyright © 2008-2010 Seam Framework. All Rights Reserved.