У меня есть ряд веб-действий, которые я реализую в Seam для выполнения операций создания, чтения, обновления и т. Д. Для моих действий чтения / обновления / удаления я хотел бы иметь отдельные классы действий, которые расширяют абстрактный базовый класс. Я хотел бы поместить метод @Factory в абстрактный базовый класс для извлечения элемента, над которым нужно действовать. Например, у меня это базовый класс:
public abstract class BaseAction {
@In(required=false)@Out(required=false)
private MyItem item=null;
public MyItem getItem(){...}
public void setItem(...){...}
@Factory("item")
public void initItem(){...}
}
Мои подклассы будут расширять BaseAction, так что мне не нужно повторять логику для загрузки элемента, который нужно просмотреть, удалить, обновить и т. Д. Однако, когда я запускаю свое приложение, Seam выдает ошибки, говоря, что я объявил несколько @ Фабрика того же объекта.
Есть ли способ обойти это? Есть ли способ предоставить @Factory в базовом классе без включения этих ошибок?