I don't know of any, Stuart or others may have some thoughts though.
On Tue, Dec 6, 2011 at 12:13, José Rodolfo Freitas <
joserodolfo.freitas(a)gmail.com> wrote:
Hey guys, how you doing?
I'm trying to achieve something that might be impossible, but before
concluding that, I'd like to ask you, CDI gurus!
I have the following class:
public class Foo<T> {
public TypedQuery<T> getQuery(){
}
}
As you can Imagine, inside my getQuery method, I'd have to use "T.class"
to make it TypedQuery. which is impossible due java generics type erasure.
so I'd have to build a private field to hold the t.class for me.
public class Foo<T> {
private Class<T> klass;
public TypedQuery<T> getQuery(){
}
public void setKlass(Class<T> klass){
this.klass = klass;
}
}
The problem is that forcing this 'setKlass' feels very ugly to the api,
and it's not very error prone, since one could easily forget to set this
configuration.
So I had an Idea: force the setKlass inside the constructor:
public class Foo<T> {
private Class<T> klass;
public Foo(Class<T> klass){
this.klass = klass;
}
public TypedQuery<T> getQuery(){
}
}
Unfortunatelly, this breaks cdi, since it cannot inject it anymore. At
least AFAIK.
So, is there a way out of this? maybe using a secret solder feature?
_______________________________________________
seam-dev mailing list
seam-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/seam-dev
--
Jason Porter
http://lightguard-jp.blogspot.com
http://twitter.com/lightguardjp
Software Engineer
Open Source Advocate
Author of Seam Catch - Next Generation Java Exception Handling
PGP key id: 926CCFF5
PGP key available at:
keyserver.net,
pgp.mit.edu