54 lines
1.1 KiB
Java
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;
|
|
}
|
|
}
|
|
|