package com.googlecode.totallylazy.validations;
import static com.googlecode.totallylazy.Unchecked.cast;
public abstract class AbstractValidator<T> implements Validator<T> {
@Override
public abstract ValidationResult validate(T instance);
@Override
public boolean matches(T instance) {
return validate(instance).succeeded();
}
/**
* Use this method if Java 1.6 loses track of what T is.
*/
public <C> LogicalValidator<C> castValidator(Class<C> type){
return castValidator();
}
public <C> LogicalValidator<C> castValidator(){
return cast(this);
}
}