argos/dmp-backend/core/src/main/java/eu/eudat/commons/validation/specification/NavigationReferenceSpecific...

54 lines
1.1 KiB
Java

package eu.eudat.commons.validation.specification;
import eu.eudat.commons.validation.Validator;
import java.util.function.Supplier;
public class NavigationReferenceSpecificationBuilder implements NavigationReferenceSpecification {
private Supplier<Boolean> precondition;
private String key;
private Object reference;
private Supplier<Validator> validator;
public NavigationReferenceSpecificationBuilder iff(Supplier<Boolean> value){
this.precondition = value;
return this;
}
public NavigationReferenceSpecificationBuilder on(String value){
this.key = value;
return this;
}
public NavigationReferenceSpecificationBuilder over(Object value){
this.reference = value;
return this;
}
public NavigationReferenceSpecificationBuilder using(Supplier<Validator> value){
this.validator = value;
return this;
}
@Override
public Supplier<Boolean> getPrecondition() {
return precondition;
}
@Override
public String getKey() {
return key;
}
@Override
public Object getReference() {
return reference;
}
@Override
public Supplier<Validator> getValidator() {
return validator;
}
}