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.List;
|
|
import java.util.function.Supplier;
|
|
|
|
public class NavigationDetailsSpecificationBuilder implements NavigationDetailsSpecification {
|
|
private Supplier<Boolean> precondition;
|
|
private String key;
|
|
private List<?> details;
|
|
private Supplier<Validator> validator;
|
|
|
|
public NavigationDetailsSpecificationBuilder iff(Supplier<Boolean> value){
|
|
this.precondition = value;
|
|
return this;
|
|
}
|
|
|
|
public NavigationDetailsSpecificationBuilder on(String value){
|
|
this.key = value;
|
|
return this;
|
|
}
|
|
|
|
public NavigationDetailsSpecificationBuilder over(List<?> value){
|
|
this.details = value;
|
|
return this;
|
|
}
|
|
|
|
public NavigationDetailsSpecificationBuilder using(Supplier<Validator> value){
|
|
this.validator = value;
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public Supplier<Boolean> getPrecondition() {
|
|
return precondition;
|
|
}
|
|
|
|
@Override
|
|
public String getKey() {
|
|
return key;
|
|
}
|
|
|
|
@Override
|
|
public List<?> getDetails() {
|
|
return details;
|
|
}
|
|
|
|
@Override
|
|
public Supplier<Validator> getValidator() {
|
|
return validator;
|
|
}
|
|
}
|