Я пытаюсь предоставить возможность ввести произвольное перечисление с учетом точки инъекции и строкового значения (которое получается в методе Produces)
Произвольный означает, что если у меня есть enum My и enum Your, я хотел бы внедрить их оба или любой другой с тем же методом производителя.
Поэтому я попробовал несколько подходов: 1.
@Produces
@MyConfigAnnotation
Enum getArbitraryEnum(InjectionPoint point) {
...
// get string representation,
// instantiate enum using point
return Enum.valueOf((Class<Enum>)injectionPoint.getAnnotated().getClass(), enumValue);
}
2. Я изменил возвращаемый тип на Object.
В обоих случаях я получаю следующее исключение, вызванное: org.jboss.weld.exceptions.DeploymentException: WELD-001408: неудовлетворенные зависимости для типа TestEnum с квалификаторами @X в точке внедрения [BackedAnnotatedField] @Inject @X pathToMyField.testEnum2
Итак, есть ли способ создать метод Produces, который сможет создавать произвольное перечисление.