Avatar billede kernelx Juniormester
09. december 2010 - 19:04 Der er 3 kommentarer og
1 løsning

Java EE 6 CDI Bean interface getTypes

Hi,

interfacet javax.enterprise.inject.spi.Bean<T> har blandt andet følgende method:
    getTypes() : Set<java.lang.reflect.Type>
Hvad returnerer denne Method?

Hvis jeg nu har følgende Class:

@SessionScoped
@StereoTypeA
@QualifierA
@QualifierB
public class Test {

    private String name;

    @Inject
    private Foo foo;

    @Producer
    public Bar produceBar(InjectionPoint ip) { ... }

    public void doSomething() { ... }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}

Så har jeg en Bean instance, som er mapped til denne class.
Bean<Test> bean = ...;
Set<Type> types = bean.getTypes();

Hvad er det for nogle værdier, som bliver returneret til "types"?

mange tak allerede i forvejen!
Avatar billede arne_v Ekspert
09. december 2010 - 19:09 #1
Som jeg laeser docs saa er det alle de typer den Bean kan vaere eller paa mere jaevnt dansk alle klassre den arver fra og alle interfaces som den implementerer.
Avatar billede arne_v Ekspert
09. december 2010 - 19:09 #2
http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/package-summary.html

Bean types

A bean type is a client-visible type of the bean. A bean may have multiple bean types. The following bean has bean types BookShop, Business, Shop<Book> and Object.

public class BookShop
      extends Business
      implements Shop<Book> {
    ...
}


Almost any Java type may be a bean type of a bean:

    * A bean type may be an interface, a concrete class or an abstract class, and may be declared final or have final methods.
    * A bean type may be a parameterized type with actual type parameters and type variables.
    * A bean type may be an array type. Two array types are considered identical only if the element type is identical.
    * A bean type may be a primitive type. Primitive types are considered to be identical to their corresponding wrapper types in java.lang.
    * A bean type may be a raw type.

A type variable is not a legal bean type. A parameterized type that contains a wildcard type parameter is not a legal bean type.

The bean types of a bean are determined automatically. However, the set of bean types may be resticted using the @Typed annotation.
Avatar billede kernelx Juniormester
10. december 2010 - 08:13 #3
mange tak!
husk at skrive et eller andet som svar :-)
Avatar billede arne_v Ekspert
10. december 2010 - 17:27 #4
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester