atg.commerce.payment.processor
Class ProcCreateStoreCreditInfo

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.commerce.payment.processor.ProcCreateStoreCreditInfo
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

public class ProcCreateStoreCreditInfo
extends GenericService
implements PipelineProcessor

This pipeline processor element is called to create generic StoreCreditInfo objects from instances of the StoreCredit 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 StoreCreditInfo class can easily be extended. See "setStoreCreditInfoClass" and {@link #addDataToStoreCreditInfo "addDataToStoreCreditInfo" for more information.

See Also:
GenericStoreCreditInfo, StoreCreditInfo

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
ProcCreateStoreCreditInfo()
           
 
Method Summary
protected  void addDataToStoreCreditInfo(Order pOrder, StoreCredit pPaymentGroup, double pAmount, PaymentManagerPipelineArgs pParams, GenericStoreCreditInfo pStoreCreditInfo)
          This method populates the StoreCreditInfo object with data.
 int[] getRetCodes()
          Return the possible return values for this processor.
protected  GenericStoreCreditInfo getStoreCreditInfo()
          Factory method to create a new StoreCreditInfo object.
 java.lang.String getStoreCreditInfoClass()
          Return the class to instantiate when creating a new StoreCreditInfo object.
 int runProcess(java.lang.Object pParam, PipelineResult pResult)
          Generate a StoreCreditInfo object of the class specified by storeCreditInfoClass, populate it with data from a StoreCredit payment group by calling addDataToStoreCreditInfo, and add it to the pipeline argument dictionary so that downstream pipeline processors can access it.
 void setStoreCreditInfoClass(java.lang.String pStoreCreditInfoClass)
          Specify the class to instantiate when creating a new StoreCreditInfo 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
 

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

ProcCreateStoreCreditInfo

public ProcCreateStoreCreditInfo()
Method Detail

getStoreCreditInfoClass

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


setStoreCreditInfoClass

public void setStoreCreditInfoClass(java.lang.String pStoreCreditInfoClass)
Specify the class to instantiate when creating a new StoreCreditInfo object. If the GenericStoreCreditInfo class is extended to include more information, this property can be changed to reflect the new class.


addDataToStoreCreditInfo

protected void addDataToStoreCreditInfo(Order pOrder,
                                        StoreCredit pPaymentGroup,
                                        double pAmount,
                                        PaymentManagerPipelineArgs pParams,
                                        GenericStoreCreditInfo pStoreCreditInfo)
This method populates the StoreCreditInfo object with data. If the additional data is required, a subclass of StoreCreditInfo can be created with additional properties, the storeCreditInfoClass 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
pStoreCreditInfo - An object that holds information understood by the store credit payment processor.

getStoreCreditInfo

protected GenericStoreCreditInfo getStoreCreditInfo()
                                             throws java.lang.Exception
Factory method to create a new StoreCreditInfo object. The class that is created is that specified by the storeCreditInfoClass property, and must be a subclass of atg.payment.storecredit.GenericStoreCreditInfo.

Returns:
An object of the class specified by storeCreditInfoClass
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 StoreCreditInfo object of the class specified by storeCreditInfoClass, populate it with data from a StoreCredit payment group by calling addDataToStoreCreditInfo, 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 store 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.