package com.github.javafaker; import com.github.javafaker.service.FakeValuesService; import com.github.javafaker.service.RandomService; public class Address { private final Name name; private final FakeValuesService fakeValuesService; private final RandomService randomService; public Address(Name name, FakeValuesService fakeValuesService, RandomService randomService) { this.name = name; this.fakeValuesService = fakeValuesService; this.randomService = randomService; } public String streetName() { return fakeValuesService.composite("address.street_name_formats", (String) fakeValuesService.fetchObject("address.street_name_joiner"), this); } public String streetAddressNumber() { return fakeValuesService.numerify(fakeValuesService.fetchString("address.street_address")); } public String streetAddress(boolean includeSecondary) { String streetAddress = fakeValuesService.composite("address.street_formats", " ", this); if (includeSecondary) { streetAddress = streetAddress + " " + secondaryAddress(); } return fakeValuesService.numerify(streetAddress); } public String secondaryAddress() { return fakeValuesService.numerify(fakeValuesService.fetchString("address.secondary_address")); } public String zipCode() { return fakeValuesService.bothify(fakeValuesService.fetchString("address.postcode")); } public String streetSuffix() { return fakeValuesService.fetchString("address.street_suffix"); } public String citySuffix() { return fakeValuesService.fetchString("address.city_suffix"); } public String cityPrefix() { return fakeValuesService.fetchString("address.city_prefix"); } public String stateAbbr() { return fakeValuesService.fetchString("address.state_abbr"); } public String country() { return fakeValuesService.fetchString("address.country"); } public String firstName() { return name.firstName(); } public String lastName() { return name.lastName(); } public String latitude() { return String.format("%.8g", (randomService.nextDouble() * 180) - 90); } public String longitude() { return String.format("%.8g", (randomService.nextDouble() * 360) - 180); } }