package io.codearte.jfairy.producer.person;
import io.codearte.jfairy.data.DataMaster;
import io.codearte.jfairy.producer.BaseProducer;
public abstract class AbstractAddressProvider implements AddressProvider {
private static final String POSTAL_CODE_FORMAT = "postal_code";
private static final String CITY = "city";
private static final String STREET = "street";
protected final BaseProducer baseProducer;
protected final DataMaster dataMaster;
public AbstractAddressProvider(DataMaster dataMaster, BaseProducer baseProducer) {
this.baseProducer = baseProducer;
this.dataMaster = dataMaster;
}
public String getCity() {
return dataMaster.getRandomValue(CITY);
}
public String getPostalCode() {
String postalCodeFormat = dataMaster.getRandomValue(POSTAL_CODE_FORMAT);
return baseProducer.numerify(postalCodeFormat);
}
public String getStreet() {
return dataMaster.getRandomValue(STREET);
}
public String getStreetNumber() {
return String.valueOf(baseProducer.randomInt(199));
}
public String getApartmentNumber() {
return baseProducer.trueOrFalse() ? String.valueOf(baseProducer.randomInt(350)) : "";
}
}