
uk.co.caeldev.builder4test.RandomLookUp Maven / Gradle / Ivy
package uk.co.caeldev.builder4test;
import uk.org.fyodor.generators.Generator;
import java.util.Map;
import java.util.Optional;
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
public class RandomLookUp implements LookUp {
private Map values;
private Map generators;
protected RandomLookUp(Map values, Map generators) {
this.values = values;
this.generators = generators;
}
@Override
public void put(Field field, V value) {
values.put(field, Optional.ofNullable(value));
}
@Override
public V get(Field field, V defaultValue) {
Optional optValue = values.get(field);
if (isNull(optValue)) {
Generator generator = generators.get(field);
if (nonNull(generator)) {
return (V)generator.next();
}
return defaultValue;
}
if (optValue.isPresent()) {
return (V)optValue.get();
}
return null;
}
@Override
public V get(Field field) {
return get(field, field.getDefaultValue());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy