atg.commerce.payment.processor
Class ProcCreateInvoiceRequestInfo
java.lang.Object
   atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
       atg.nucleus.GenericService
atg.nucleus.GenericService
           atg.commerce.payment.processor.ProcCreateInvoiceRequestInfo
atg.commerce.payment.processor.ProcCreateInvoiceRequestInfo
- All Implemented Interfaces: 
- atg.naming.AbsoluteNameable, NameContextBindingListener, NameContextElement, atg.naming.NameContextParentable, NameResolver, AdminableService, atg.nucleus.Configured, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, PipelineProcessor, java.util.EventListener
- Direct Known Subclasses: 
- ProcCreateInvoiceRequestInfo
- public class ProcCreateInvoiceRequestInfo 
- extends GenericService- implements PipelineProcessor
This pipeline processor element is called to create generic
 InvoiceRequestInfo objects from instances of the InvoiceRequest payment
 group.  It places them into the pipeline argument dictionary so that
 downstream pipeline processors can retrieve them by calling
 PaymentManagerPipelineArgs.getPaymentInfo().
 
 This processor is designed so that the InvoiceRequestInfo class can
 easily be extended.  See
 "setInvoiceRequestInfoClass" and
 "#addDataToInvoiceRequestInfo "addDataToInvoiceRequestInfo
 for more information.
- See Also:
- InvoiceRequestInfo,- GenericInvoiceRequestInfo
| Field Summary | 
| static java.lang.String | CLASS_VERSION
 | 
| static int | SUCCESSReturn values for this processor.
 | 
 
 
 
| Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging | 
| DEFAULT_LOG_TRACE_STATUS | 
 
 
 
| Method Summary | 
| protected  void | addDataToInvoiceRequestInfo(Order pOrder,
                            InvoiceRequest pPaymentGroup,
                            double pAmount,
                            PaymentManagerPipelineArgs pParams,
                            GenericInvoiceRequestInfo pInvoiceRequestInfo)This method populates the
 InvoiceRequestInfoobject with
 data. | 
| protected  java.lang.Double | computeBalanceDue(double pAmount,
                  PaymentGroup pPmt)Compute the balance due on the invoice by looking at the payment group
 original amount, subtracting anything that's already been debited, and
 adding back in any credits applied to the payment group.
 | 
| protected  GenericInvoiceRequestInfo | getInvoiceRequestInfo()Factory method to create a new InvoiceRequestInfo object.
 | 
|  java.lang.String | getInvoiceRequestInfoClass()Return the class to instantiate when creating a new InvoiceRequestInfo
 object.
 | 
|  int[] | getRetCodes()Return the possible return values for this processor.
 | 
|  int | runProcess(java.lang.Object pParam,
           PipelineResult pResult)Generate an InvoiceRequestInfo object of the class specified by
 invoiceRequestInfoClass, populate it with data from anInvoiceRequestpayment group by callingaddDataToInvoiceRequestInfo, and add it to the pipeline
 argument dictionary so that downstream pipeline processors can access
 it. | 
|  void | setInvoiceRequestInfoClass(java.lang.String pInvoiceRequestInfoClass)Specify the class to instantiate when creating a new InvoiceRequestInfo
 object.
 | 
 
| Methods inherited from class atg.nucleus.GenericService | 
| addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService | 
 
| Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl | 
| vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
CLASS_VERSION
public static java.lang.String CLASS_VERSION
SUCCESS
public static final int SUCCESS
- Return values for this processor.
 
- See Also:
- Constant Field Values
 
ProcCreateInvoiceRequestInfo
public ProcCreateInvoiceRequestInfo()
setInvoiceRequestInfoClass
public void setInvoiceRequestInfoClass(java.lang.String pInvoiceRequestInfoClass)
- Specify the class to instantiate when creating a new InvoiceRequestInfo
 object.  If the GenericInvoiceRequestInfoclass is extended to
 include more information, this property can be changed to reflect the
 new class.
 
- 
 
- 
 
getInvoiceRequestInfoClass
public java.lang.String getInvoiceRequestInfoClass()
- Return the class to instantiate when creating a new InvoiceRequestInfo
 object.
 
- 
 
- 
 
addDataToInvoiceRequestInfo
protected void addDataToInvoiceRequestInfo(Order pOrder,
                                           InvoiceRequest pPaymentGroup,
                                           double pAmount,
                                           PaymentManagerPipelineArgs pParams,
                                           GenericInvoiceRequestInfo pInvoiceRequestInfo)
- This method populates the InvoiceRequestInfoobject with
 data.  If the additional data is required, a subclass ofGenericInvoiceRequestInfocan be created with additional
 properties, theinvoiceRequestInfoClassproperty can be
 changed to specify the new class, and this method can be overridden to
 add data for the new properties (or another pipeline processor could be
 added after this processor to populate the additional properties).
 
- 
 
- 
- Parameters:
- pOrder- The order being paid for.
- pPaymentGroup- The payment group being processed.
- pAmount- The amount being authorized, debited, or credited
- pParams- The parameter dictionary passed to this pipeline processor
- pInvoiceRequestInfo- An object that holds information understood by the invoice
    request payment processor.
 
computeBalanceDue
protected java.lang.Double computeBalanceDue(double pAmount,
                                             PaymentGroup pPmt)
- Compute the balance due on the invoice by looking at the payment group
 original amount, subtracting anything that's already been debited, and
 adding back in any credits applied to the payment group.
 
 The assumption here is that credits don't reduce the total amount
 billed to the payment group, they only affect the outstanding balance.
 If one wants to reduce the total amount billed, one would presumably
 change the amount field in the payment group.  If this assumption is
 incorrect and a different balance due behavior is desired, applications
 can subclass this class and replace the computeBalanceDue method to
 return a different value.
 
 
- 
 
- 
- Parameters:
- pAmount- The amount value passed by the payment manager as the amount to
    authorize, debit, or credit.  This value is not used by the default
    implementation of computeBalanceDue but is included in the method
    signature in case subclassed versions of the method require it.
- pPmt- The payment group for which an InvoiceRequestInfo object is
    being created.
- Returns:
- The amount to list as "balance due" in the invoice request info.
 
getInvoiceRequestInfo
protected GenericInvoiceRequestInfo getInvoiceRequestInfo()
                                                   throws java.lang.Exception
- Factory method to create a new InvoiceRequestInfo object.  The class
 that is created is that specified by the
 invoiceRequestInfoClassproperty, and must be a subclass
 ofatg.payment.invoice.GenericInvoiceRequestInfo.
 
- 
 
- 
- Returns:
- An object of the class specified by invoiceRequestInfoClass
- Throws:
- java.lang.Exception- if any instantiation error occurs when creating the info object
 
runProcess
public int runProcess(java.lang.Object pParam,
                      PipelineResult pResult)
               throws java.lang.Exception
- Generate an InvoiceRequestInfo object of the class specified by
 invoiceRequestInfoClass, populate it with data from anInvoiceRequestpayment group by callingaddDataToInvoiceRequestInfo, and add it to the pipeline
 argument dictionary so that downstream pipeline processors can access
 it.
 
- 
- Specified by:
- runProcessin interface- PipelineProcessor
 
- 
- Parameters:
- pParam- Parameter dictionary of type PaymentManagerPipelineArgs.
- pResult- Pipeline result object, not used by this method.
- Returns:
- An integer value used to determine which pipeline processor is called next.
- Throws:
- java.lang.Exception- If any error occurs creating or populating the invoice request info object.
 
getRetCodes
public int[] getRetCodes()
- Return the possible return values for this processor.  This processor
 always returns a success code.
 
- 
- Specified by:
- getRetCodesin interface- PipelineProcessor
 
- 
- Returns:
- an array of all the return codes that could be returned by this PipelineProcessor.