package com.bookstore; import com.algocrafts.domain.Countries; import com.algocrafts.domain.UnitedStates; import com.algocrafts.pages.Page; import com.bookstore.domain.Address; import static com.bookstore.BookStoreId.*; public class ShippingAddressForm { private Page page; public ShippingAddressForm(Page page) { this.page = page; } public void setShippingAddress(Address address) { page.put(SHIPPING_FIRST_NAME, address.firstName); page.put(SHIPPING_LAST_NAME, address.lastName); page.put(SHIPPING_ADDRESS1, address.street1); page.put(SHIPPING_ADDRESS2, address.street2); page.put(SHIPPING_CITY, address.city); page.put(SHIPPING_STATE, address.state); page.put(SHIPPING_ZIP, address.zipcode); page.select(SHIPPING_COUNTRY, address.country); } public Address getShippingAddress() { return new Address( page.get(SHIPPING_ADDRESS1), page.get(SHIPPING_ADDRESS2), page.get(SHIPPING_CITY), page.get(SHIPPING_ZIP), page.get(SHIPPING_STATE, UnitedStates::fromString), page.get(SHIPPING_COUNTRY, Countries::fromString), page.get(SHIPPING_FIRST_NAME), page.get(SHIPPING_LAST_NAME)); } }