Class AddressesForm

java.lang.Object
org.apache.struts.action.ActionForm
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AddressBookAddressForm, CheckoutAddressesForm

public class AddressesForm extends BillingAddressForm
Struts form class representing a user's billing and delivery addresses. It is also a superclass of CheckoutAddressesForm, which is used for submissions to "/CheckoutAddresses.do", where both billing and delivery addresses, as well as a shipping option, are submitted.

AddressesForm is a subclass of BillingAddressForm, and it inherits its billing address properties.

The validate method of this class first checks to see if the user chose to use the same address for billing and delivery. If so, it copies the billing address properties to the delivery properties. It then loops through the "deliveryRequired" database setting and makes sure each required field is populated. It also checks to make sure the submitted delivery state or province corresponds to the submitted country, and that fields such as emails and phone numbers are in a valid format.

Author:
David Tobey
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • log

      static org.apache.commons.logging.Log log
    • deliveryUseBilling

      private boolean deliveryUseBilling
    • deliveryFirstName

      private String deliveryFirstName
    • deliveryLastName

      private String deliveryLastName
    • deliveryOrganization

      private String deliveryOrganization
    • deliveryAddress1

      private String deliveryAddress1
    • deliveryAddress2

      private String deliveryAddress2
    • deliveryCity

      private String deliveryCity
    • deliveryState

      private String deliveryState
    • deliveryOther

      private String deliveryOther
    • deliveryPostalCode

      private String deliveryPostalCode
    • deliveryCountry

      private String deliveryCountry
    • deliveryPhone1

      private String deliveryPhone1
    • deliveryPhone2

      private String deliveryPhone2
    • deliveryEmail1

      private String deliveryEmail1
    • deliveryEmail2

      private String deliveryEmail2
    • deliveryExtra1

      private String deliveryExtra1
    • deliveryExtra2

      private String deliveryExtra2
    • deliveryExtra3

      private String deliveryExtra3
    • deliveryExtra4

      private String deliveryExtra4
    • deliveryExtra5

      private String deliveryExtra5
    • deliveryNotes

      private String deliveryNotes
  • Constructor Details

    • AddressesForm

      public AddressesForm()
  • Method Details

    • getDeliveryUseBilling

      public boolean getDeliveryUseBilling()
    • getDeliveryAddress1

      public String getDeliveryAddress1()
    • getDeliveryAddress2

      public String getDeliveryAddress2()
    • getDeliveryCity

      public String getDeliveryCity()
    • getDeliveryCountry

      public String getDeliveryCountry()
    • getDeliveryEmail1

      public String getDeliveryEmail1()
    • getDeliveryEmail2

      public String getDeliveryEmail2()
    • getDeliveryExtra1

      public String getDeliveryExtra1()
    • getDeliveryExtra2

      public String getDeliveryExtra2()
    • getDeliveryFirstName

      public String getDeliveryFirstName()
    • getDeliveryLastName

      public String getDeliveryLastName()
    • getDeliveryNotes

      public String getDeliveryNotes()
    • getDeliveryOrganization

      public String getDeliveryOrganization()
    • getDeliveryPhone1

      public String getDeliveryPhone1()
    • getDeliveryPhone2

      public String getDeliveryPhone2()
    • getDeliveryPostalCode

      public String getDeliveryPostalCode()
    • getDeliveryState

      public String getDeliveryState()
    • getDeliveryOther

      public String getDeliveryOther()
    • setDeliveryUseBilling

      public void setDeliveryUseBilling(boolean b)
    • setDeliveryAddress1

      public void setDeliveryAddress1(String string)
    • setDeliveryAddress2

      public void setDeliveryAddress2(String string)
    • setDeliveryCity

      public void setDeliveryCity(String string)
    • setDeliveryCountry

      public void setDeliveryCountry(String string)
    • setDeliveryEmail1

      public void setDeliveryEmail1(String string)
    • setDeliveryEmail2

      public void setDeliveryEmail2(String string)
    • setDeliveryExtra1

      public void setDeliveryExtra1(String string)
    • setDeliveryExtra2

      public void setDeliveryExtra2(String string)
    • getDeliveryExtra3

      public String getDeliveryExtra3()
    • setDeliveryExtra3

      public void setDeliveryExtra3(String deliveryExtra3)
    • getDeliveryExtra4

      public String getDeliveryExtra4()
    • setDeliveryExtra4

      public void setDeliveryExtra4(String deliveryExtra4)
    • getDeliveryExtra5

      public String getDeliveryExtra5()
    • setDeliveryExtra5

      public void setDeliveryExtra5(String deliveryExtra5)
    • setDeliveryFirstName

      public void setDeliveryFirstName(String string)
    • setDeliveryLastName

      public void setDeliveryLastName(String string)
    • setDeliveryNotes

      public void setDeliveryNotes(String string)
    • setDeliveryOrganization

      public void setDeliveryOrganization(String string)
    • setDeliveryPhone1

      public void setDeliveryPhone1(String string)
    • setDeliveryPhone2

      public void setDeliveryPhone2(String string)
    • setDeliveryPostalCode

      public void setDeliveryPostalCode(String string)
    • setDeliveryState

      public void setDeliveryState(String string)
    • setDeliveryOther

      public void setDeliveryOther(String string)
    • validate

      public org.apache.struts.action.ActionErrors validate(org.apache.struts.action.ActionMapping mapping, javax.servlet.http.HttpServletRequest request)
      Overrides:
      validate in class BillingAddressForm
    • copyBillingToDelivery

      public void copyBillingToDelivery()
      If this forms deliveryUseBilling property is set, copies billing properties to delivery properties.
    • validateDeliveryFields

      public void validateDeliveryFields()
      Validates this form's delivery fields. First, this method loops through the fields in the "deliveryRequired" setting and check that each of the corresponding properties of this form are populated. Second, it loops through the fields in the "deliveryValidated" setting and ensures the field values are valid. (For example, that the email is in valid form.)
    • isDeliveryFieldValid

      public boolean isDeliveryFieldValid(String thisFieldString, String thisValue)
      For a given field, validates the value of the field in this form. Emails are validated with a regular expression. Phone numbers are checked just to ensure at least 10 digits are present. And postal codes are checked for at least five digits if the country is the US.
      Parameters:
      thisFieldString - The name of the field to validate
      thisValue - The field's value
      Returns:
      True, if the field's value is valid
    • validateDeliveryStateField

      public void validateDeliveryStateField()
      Validate this form's state field. One, if 'Other' was selected as the state, this method ensures that a value for the other field is present. Two, if 'Other' was not selected, the state is checked to make sure it matches with the submitted country.
    • prepareStateAndOtherFields

      public void prepareStateAndOtherFields(Customer customer)
      Prepares the billingState, billingOther, deliveryState, and deliveryOther fields for presentation. Determines if a given Customer's address uses a 'Other' state and if so populates the fields accordingly.
      Overrides:
      prepareStateAndOtherFields in class BillingAddressForm
      Parameters:
      customer - The given customer whose address fields are being prepared.
    • prepareStateAndOtherFields

      public void prepareStateAndOtherFields(Order order)
      Prepares the billingState, billingOther, deliveryState, and deliveryOther fields for presentation. Determines if a given Order's address uses a 'Other' state and if so populates the fields accordingly.
      Overrides:
      prepareStateAndOtherFields in class BillingAddressForm
      Parameters:
      order - The given order whose address fields are being prepared.