Class PInvoicePOPanel

All Implemented Interfaces:
PIAPaymentTypePanelBean, PAppComponent, PClientComponent, PCollectDataListener, PComponent, PComponentAttribute, PViewDataChangeListener, ContainerListener, ImageObserver, MenuContainer, PropertyChangeListener, Serializable, Remote, EventListener, Accessible

public class PInvoicePOPanel extends PIAPaymentTypePanel
A customizable panel used for displaying/updating invoice and purchase order information (PIN_FLD_BILL_TYPE of 10001) for an account object and for entering in such information for a new account. Data such as the purchase order number, expiration and notification amounts and dates, and the customer's invoice billing address information are encapsulated here. This panel is used both at account creation and maintenance time.
See Also:
  • Field Details

    • lblCorrectiveInvoiceFormat

      protected JLabel lblCorrectiveInvoiceFormat
    • lblCorrectiveInvoiceType

      protected JLabel lblCorrectiveInvoiceType
    • cmbCorrectiveInvoiceFormat

      protected PIADefaultChoiceEnumField cmbCorrectiveInvoiceFormat
    • cmbCorrectiveInvoiceType

      protected PIADefaultChoiceEnumField cmbCorrectiveInvoiceType
  • Constructor Details

    • PInvoicePOPanel

      public PInvoicePOPanel()
      Creates a new invoice and purchase order panel.
  • Method Details

    • addNotify

      public void addNotify()
      Overrides:
      addNotify in class PI18NPanel
    • shareInData

      public void shareInData(PModelHandle model)
      During account maintenance, retrieves shared data of interest and inserts it into the proper widgets.
      Overrides:
      shareInData in class PIAPaymentTypePanel
      Parameters:
      model - Model handle for an account.
    • shareInData

      public void shareInData()
      During account creation, retrieves shared data of interest and inserts it into the proper widgets.
      Overrides:
      shareInData in class PIAPaymentTypePanel
    • setCustomData

      protected void setCustomData(PIACustomizablePanel c)
      Affords the ability to add additional fields to the right of the delivery dropdown widget. Note that you are given space to accomodate 3 rows of widgets. More than 3 rows will begin to impact the layout of the original panel.

      If you need to save your data to somewhere other than the invoice payinfo data structure, override collectData() in your panel since it will be called when the invoice panel itself is being saved.
      Parameters:
      c - The component to add to the right of the delivery dropdown
    • setModelHandle

      public void setModelHandle(PModelHandle pm) throws RemoteException
      Displays data for the passed-in account model handle.
      Specified by:
      setModelHandle in interface PComponent
      Overrides:
      setModelHandle in class PIACustomizablePanel
      Parameters:
      pm - Model handle for an account.
      Throws:
      RemoteException - thrown for errors
    • validatePaymentPanel

      public boolean validatePaymentPanel()
      Implements any validation specific to this panel.
      Overrides:
      validatePaymentPanel in class PIAPaymentTypePanel
      Returns:
      true if validation succeeded; false otherwise.
    • validateEmail

      public boolean validateEmail()
      Implements email validation specific to this panel.
      Returns:
      true if email validation succeeded; false otherwise.
    • isClean

      public boolean isClean()
      Description copied from class: PIACustomizablePanel
      Determines if any descendant is marked DIRTY or ERROR.
      Overrides:
      isClean in class PIACustomizablePanel
      Returns:
      True if no descendant is marked DIRTY or ERROR, false otherwise.
    • getControllerClassName

      public String getControllerClassName() throws RemoteException
      Gets the class name for this class's controller
      Specified by:
      getControllerClassName in interface PComponent
      Overrides:
      getControllerClassName in class PIACustomizablePanel
      Returns:
      a String with the component's controller's classname
      Throws:
      RemoteException - thrown for errors
    • loadCorrectiveInvoiceFormatandType

      protected void loadCorrectiveInvoiceFormatandType() throws RemoteException
      This method loads the corrective invoice format invalid input: '&' types into the cmbCorrectiveInvoiceFormat and cmbCorrectiveInvoiceType respectively.
      Throws:
      RemoteException
    • collectData

      public void collectData(PCollectDataEvent event)
      Description copied from class: PIAPaymentTypePanel
      Collects data from this panel for three different cases:
      1) During page validation when changing tabs during account creation (event.getReason() is PCollectDataEvent.FOR_VALIDATION),
      2) When saving a new account (event.getReason() is PCollectDataEvent.FOR_STORING),
      3) When updating an existing account (event.getReason() is PCollectDataEvent.FOR_DIRTY).
      Each of these three cases involves different data collection:
      1) For page validation, the additional data that needs to be collected are a FldPayinfo type-only POID (appropriate to the billing type) and the FldBillType.
      2) For saving a new account, data is required for all fields (whether the user has entered data or not), a FldPayinfo type-only POID (appropriate to the billing type) and the FldBillType.
      3) For updating an account, the additional data that needs to be collected are the FldPayinfoObj's POID and the FldBillType.
      Specified by:
      collectData in interface PCollectDataListener
      Overrides:
      collectData in class PIAPaymentTypePanel
      Parameters:
      event - The collect data event containing the reason code and model handle.