I'm facing an issue like this:
What is the member type in @Override method of sub-class
for example:
public interface Dao {}
@Typed(A.class)
public class A implements Dao {}
@Typed(B.class)
public class B extends A {}
public class X<T> {
private T dao;
public void set(T dao) {
this.dao = dao;
}
}
public class Y extends X<A> {
@Override
@Inject
public void set(A a) {
super.set(a);
}
}
public class Z extend X<B> {
@Override
@Inject
public void set(B b) {
super.set(b)
}
}
The question is what the type of A Weld checked at set() of Y and Z when initializing? Dao or A,B?
on EAP 6.2.0, If I build it in local maven, there's no error when Jboss initializing. That means it will be treated as Sub-class
But if I build it in Koji brew maven, it will be treated as Dao, and Unsatisfied dependencies error occurs.