atg.commerce.payment.processor
Class ProcCreateCreditCardInfo

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.commerce.payment.processor.ProcCreateCreditCardInfo
All Implemented Interfaces:
NameContextBindingListener, NameContextElement, NameResolver, AdminableService, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, PipelineProcessor, java.util.EventListener

public class ProcCreateCreditCardInfo
extends GenericService
implements PipelineProcessor

This pipeline processor element is called to create generic CreditCardInfo objects from instances of the CreditCard 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 CreditCardInfo class can easily be extended. See "setCreditCardInfoClass" and "addDataToCreditCardInfo" for more information.

See Also:
CreditCardInfo, GenericCreditCardInfo

Field Summary
static java.lang.String CLASS_VERSION
           
static int SUCCESS
          The possible return value for this processor.
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.service.pipeline.PipelineProcessor
STOP_CHAIN_EXECUTION, STOP_CHAIN_EXECUTION_AND_COMMIT, STOP_CHAIN_EXECUTION_AND_ROLLBACK
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
ProcCreateCreditCardInfo()
           
 
Method Summary
protected  void addDataToCreditCardInfo(Order pOrder, CreditCard pPaymentGroup, double pAmount, PaymentManagerPipelineArgs pParams, GenericCreditCardInfo pCreditCardInfo)
          This method populates the CreditCardInfo object with data.
protected  GenericCreditCardInfo getCreditCardInfo()
          Factory method to create a new CreditCardInfo object.
 java.lang.String getCreditCardInfoClass()
          Return the class to instantiate when creating a new CreditCardInfo object.
 int[] getRetCodes()
          Return the possible return values for this processor.
 int runProcess(java.lang.Object pParam, PipelineResult pResult)
          Generate a CreditCardInfo object of the class specified by creditCardInfoClass, populate it with data from a CreditCard payment group by calling addDataToCreditCardInfo, and add it to the pipeline argument dictionary so that downstream pipeline processors can access it.
 void setCreditCardInfoClass(java.lang.String pCreditCardInfoClass)
          Specify the class to instantiate when creating a new CreditCardInfo object.
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, 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
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION

SUCCESS

public static final int SUCCESS
The possible return value for this processor.

See Also:
Constant Field Values
Constructor Detail

ProcCreateCreditCardInfo

public ProcCreateCreditCardInfo()
Method Detail

getCreditCardInfoClass

public java.lang.String getCreditCardInfoClass()
Return the class to instantiate when creating a new CreditCardInfo object.


setCreditCardInfoClass

public void setCreditCardInfoClass(java.lang.String pCreditCardInfoClass)
Specify the class to instantiate when creating a new CreditCardInfo object. If the GenericCreditCardInfo class is extended to include more information, this property can be changed to reflect the new class.


addDataToCreditCardInfo

protected void addDataToCreditCardInfo(Order pOrder,
                                       CreditCard pPaymentGroup,
                                       double pAmount,
                                       PaymentManagerPipelineArgs pParams,
                                       GenericCreditCardInfo pCreditCardInfo)
This method populates the CreditCardInfo object with data. If the additional data is required, a subclass of GenericCreditCardInfo can be created with additional properties, the creditCardInfoClass property 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
pCreditCardInfo - An object that holds information understood by the credit card payment processor.

getCreditCardInfo

protected GenericCreditCardInfo getCreditCardInfo()
                                           throws java.lang.Exception
Factory method to create a new CreditCardInfo object. The class that is created is that specified by the creditCardInfoClass property, and must be a subclass of atg.payment.creditcard.GenericCreditCardInfo.

Returns:
An object of the class specified by creditCardInfoClass
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 a CreditCardInfo object of the class specified by creditCardInfoClass, populate it with data from a CreditCard payment group by calling addDataToCreditCardInfo, and add it to the pipeline argument dictionary so that downstream pipeline processors can access it.

Specified by:
runProcess in 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 credit card info object.

getRetCodes

public int[] getRetCodes()
Return the possible return values for this processor. This processor always returns a success code.

Specified by:
getRetCodes in interface PipelineProcessor
Returns:
an array of all the return codes that could be returned by this PipelineProcessor.