Estrategia de Procesamiento

La Estrategia de Procesamiento proporciona una abstracción sobre el manejo de las Entradas de Pago que deben ser procesadas de una manera específica; esto incluye la creación de solicitudes y el manejo de solicitudes.

Para hacer esto, se requiere una instancia específica del cliente de la ProcessingStrategy la interfaz debe ser implementada, donde el ProcessingRequestCreator y RequestProcessor se suministran así como un apropiado ProcessingActionType, especificando qué acción se está realizando.

Implementación de la Estrategia de Procesamiento de Ejemplo

Puede encontrar un ejemplo de implementación para la acción de liberación Estrategia de Procesamiento a continuación:

package com.iconsolutions.ipf.core.releaser;

@RequiredArgsConstructor
public class ExampleReleaseProcessingStrategy
        implements ProcessingStrategy<ExamplePaymentInitiation, ExamplePaymentInstruction, ExamplePaymentTransaction, ExecutePaymentRequest> {

    private final ProcessingRequestCreator<ExamplePaymentInitiation, ExamplePaymentInstruction, ExamplePaymentTransaction, ExecutePaymentRequest> requestCreator;
    private final RequestProcessor<ExecutePaymentRequest> requestSender;

    @Override
    public ProcessingRequestCreator<ExamplePaymentInitiation, ExamplePaymentInstruction, ExamplePaymentTransaction, ExecutePaymentRequest> getRequestCreator() {
        return requestCreator; (1)
    }

    @Override
    public RequestProcessor<ExecutePaymentRequest> getRequestProcessor() {
        return requestSender; (2)
    }

    @Override
    public ProcessingActionType getActionType() {
        return ProcessingActionTypes.RELEASE; (3)
    }
}
1 específico del cliente ProcessingRequestCreator implementación, utilizada para crear una instancia de ExecutePaymentRequest.
2 específico del cliente RequestProcessor implementación, utilizada para enviar ExecutePaymentRequest previamente creado para la Ejecución
3 custom o predefinido ProcessingActionType, será utilizado por PaymentEntriesProcessor para invocar las implementaciones de Creator y Processor apropiadas definidas arriba.
ProcessingActionTypes. RELEASE y ProcessingActionTypes. CANCEL son tipos de acción predefinidos listos para ser utilizados en su(s) implementación(es) de estrategia de procesamiento.

El ProcessingActionTypes la clase proporciona un registro para gestionar instancias de ProcessingActionType. Fuera de la caja incluye tipos de acción predeterminados como CANCEL y RELEASE. Sin embargo, el ProcessingActionType permite la flexibilidad para definir otras instancias de tipo de acción.

Se detallan más información en el Implementación página