Если DTO все inhrerit от общего суперкласса или реализуют общий интерфейс, вы можете сделать:
// DTO is the common superclass/subclass
public interface Addable<E extends DTO> {
public int addItem(E dto);
}
И ваши конкретные реализации могут сделать:
public class PlaneImpl implements Addable<planeDTO> {
public int addItem(planeDTO dto) { ... }
}
Или вы можете просто определить свой интерфейс для интерфейса / суперкласса:
// DTO is the common superclass/subclass
public interface Addable {
public int addItem(DTO dto);
}
Edit:
Вам может потребоваться следующее:
Создать интерфейс -
interface AddDto<E> {
public int addItem(E dto);
}
И внедрите это в свои DAO.
class planeDAO implements AddDto<planeDTO> {
public int addItem(planeDTO dto) { ... }
}