パラメータに応じてオブジェクトを作成するプロデューサー メソッドを作成するにはどうすればよいですか?
私の目標は、アプリケーションのさまざまなクラスに を注入できるようにすることCrudService
ですが、サービスが使用されるクラス (例: ) でパラメーター化することですUser.class
。
次のコードはもちろん機能しませんが、私の意図を示しています。
@Produces
@JPAContainer(Class type) //something like this?
public JPAContainer getJPA() {
@PersistenceContext
private EntityManager em;
@Produces
@JPAContainerAnnot
public JPAContainer getJPAContainer() {
return JPAContainerFactory.make(type, em); //eg: class = User.class, Person.class
}
}
@Stateless
public class CrudServiceUser() {
@Inject
@JPAContainer(type = User.class) //something like this parameter
private JPAContainer container;
}
@Qualifier
@Retention(RetentionPolicy.RUNTIME)
@Target({FIELD,METHOD,PARAMETER,TYPE})
public @interface JPAContainer {
}