Typed
Date: 2015-09-11

javax.enterprise.inject

## Annotation Type Typed

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

  Restricts the bean types of a bean. May be applied to a bean class or producer method or field.

       @Typed(Shop.class)
       public class BookShop
             extends Business
             implements Shop<Book> {
          ...
       }

  When a `@Typed` annotation is specified, only the types whose classes are explicitly listed using the `value` member, along with `Object`, are bean types of the bean.

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `java.lang.Class<?>[]` | `value` Selects the bean types of the bean.

- - ### Element Detail

    - #### value

          public abstract java.lang.Class<?>[] value

      Selects the bean types of the bean. Every class must correspond to a type in the unrestricted set of bean types of a bean.

      Returns:
        the classes corresponding to the bean types of the bean
      Default:
        {}