final Set<Bean<?>> foos= BeanManagerProvider.getInstance().getBeanManager().getBeans(Foo.class, new AnyLit());
またはDeltaspike経由:ので、タイプセーフ解像度で、これは空のセットを返しますAnyLitがある
org.apache.deltaspike.core.api.provider.BeanProvider.getDependent(Foo.class, new AnyLit())
:
private static class AnyLit extends AnnotationLiteral<Any> implements Any
{
}
は、この問題を回避する方法はありますか?私はあなたがTypeLiteral
の使用を作ることができると思う
おかげ
私はここであなたのアイデアを取り、それを私のユースケースのために働かせました。おかげで – Gee2113
あなたはようこそ。 Btwは実際には醜いものではありません。つまり、型パラメータを保持する特別なクラスを持つ以外の方法はありません。これはCDIの制限ではなく、Javaの制限です。タイプの消去のため、この情報は失われます。そのため、あなたはそれを他の場所で補う必要があります。 – Siliarus