У меня есть интерфейс:типа Проверки общего класса
public interface IValidator<E extends IEntity>
{
void validate(final E entity);
}
Я хотел бы создать класс ValidatorService, что-то вроде этого:
public class ValidatorService
{
private List<IValidator<IEntity>> validators;
public void validate(IEntity e)
{
for(IValidator<IEntity> validator : this.validators)
{
//if(instanceof)???
validator.validate(e);
}
}
}
Как я могу убедиться, что валидаторы применяются только к их соответствующим классам (см. «???» в коде)? I.e .: Если у нас есть сущность типа EntityA, то будет активирован только валидатор-валидатор? Я думаю, что мне не хватает знаний о дженериках. Спасибо.
java выдаст исключение, если один из валидаторов не реализует IValidator – RamonBoza
. Все валидаторы реализуют Ивалидатор, но тогда некоторые из них должны запускаться для определенных IEntities ... – FazoM