class BeanValidatingItemProcessor<T> extends ValidatingItemProcessor<T> {

	private final Validator validator;

	/**
	 * Create a new instance of {@link BeanValidatingItemProcessor} with the default
	 * configuration.
	 */
	public BeanValidatingItemProcessor() {
		try (LocalValidatorFactoryBean localValidatorFactoryBean = new LocalValidatorFactoryBean()) {
			localValidatorFactoryBean.afterPropertiesSet();
			this.validator = localValidatorFactoryBean.getValidator();
		}
	}

	/**
	 * Create a new instance of {@link BeanValidatingItemProcessor}.
	 * @param localValidatorFactoryBean used to configure the Bean Validation validator
	 */
	public BeanValidatingItemProcessor(LocalValidatorFactoryBean localValidatorFactoryBean) {
		Assert.notNull(localValidatorFactoryBean, "localValidatorFactoryBean must not be null");
		this.validator = localValidatorFactoryBean.getValidator();
	}

	@Override
	public void afterPropertiesSet() throws Exception {<FILL_FUNCTION_BODY>}

}

		SpringValidatorAdapter springValidatorAdapter = new SpringValidatorAdapter(this.validator);
		SpringValidator<T> springValidator = new SpringValidator<>();
		springValidator.setValidator(springValidatorAdapter);
		springValidator.afterPropertiesSet();
		setValidator(springValidator);
		super.afterPropertiesSet();
	
<methods>public void <init>() ,public void <init>(Validator<? super T>) ,public void afterPropertiesSet() throws java.lang.Exception,public T process(T) throws org.springframework.batch.item.validator.ValidationException,public void setFilter(boolean) ,public void setValidator(Validator<? super T>) <variables>private boolean filter,private Validator<? super T> validator