Class DefaultTransactionExecutionRequestValidator
java.lang.Object
com.broadleafcommerce.paymenttransaction.service.DefaultTransactionExecutionRequestValidator
- All Implemented Interfaces:
TransactionExecutionRequestValidator
public class DefaultTransactionExecutionRequestValidator
extends Object
implements TransactionExecutionRequestValidator
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDefaultTransactionExecutionRequestValidator(PaymentTransactionService<PaymentTransaction> paymentTransactionService, PaymentSummaryService paymentSummaryService, TransactionExecutionUtil transactionExecutionUtil) -
Method Summary
Modifier and TypeMethodDescriptionprotected StringbuildInvalidParentTransactionTypeMessage(@NonNull String transactionType, @NonNull PaymentTransaction parentTransaction, @NonNull String... expectedParentTransactionTypes) protected booleancanTransactionAmountBeLessThanAvailableAmount(TransactionExecutionRequest request, Payment payment) Determines if the transaction amount can be less than the available amount.protected javax.money.MonetaryAmountgetAmountAvailableForTransactionType(@NonNull Payment payment, @NonNull String transactionType) protected PaymentSummaryServiceprotected PaymentTransactionService<PaymentTransaction>protected TransactionExecutionUtilvoidvalidate(@NonNull TransactionExecutionRequest request, @NonNull Payment payment, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Checks whether or not theTransactionExecutionRequestis valid.protected voidvalidateParentTransaction(@NonNull TransactionExecutionRequest request, @NonNull Payment payment) protected voidvalidateParentTransactionAmounts(List<TransactionWithExecutableAmount> parentTransactionWithExecutableAmounts, @NonNull javax.money.MonetaryAmount transactionAmount) Validates the total amount from parent transactions is sufficient for the giventransactionAmount.protected voidvalidateParentTransactionCurrency(PaymentTransaction parentTransaction, @NonNull javax.money.MonetaryAmount transactionAmount) protected voidvalidateParentTransactionType(PaymentTransaction parentTransaction, @NonNull String transactionType) protected voidvalidateSource(@NonNull TransactionExecutionRequest request, @NonNull Payment payment, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected voidvalidateTransactionAmount(@NonNull TransactionExecutionRequest request, @NonNull Payment payment) protected voidvalidateTransactionType(@NonNull TransactionExecutionRequest request, @NonNull Payment payment, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
-
Field Details
-
TRANSACTION_AMOUNT_MUST_BE_POSITIVE
- See Also:
-
TRANSACTION_CURRENCY_MUST_MATCH_PAYMENT_CURRENCY
- See Also:
-
TRANSACTION_AMOUNT_MUST_BE_VALID_FOR_PAYMENT
- See Also:
-
TRANSACTION_SOURCE_REQUIRED
- See Also:
-
TRANSACTION_SOURCE_ENTITY_TYPE_REQUIRED
- See Also:
-
TRANSACTION_SOURCE_ENTITY_ID_REQUIRED
- See Also:
-
DETACHED_CREDIT_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_THE_PARENT_TRANSACTION_AMOUNT
public static final String DETACHED_CREDIT_AMOUNT_MUST_BE_LESS_THAN_OR_EQUAL_TO_THE_PARENT_TRANSACTION_AMOUNT- See Also:
-
-
Constructor Details
-
DefaultTransactionExecutionRequestValidator
public DefaultTransactionExecutionRequestValidator(PaymentTransactionService<PaymentTransaction> paymentTransactionService, PaymentSummaryService paymentSummaryService, TransactionExecutionUtil transactionExecutionUtil)
-
-
Method Details
-
validate
public void validate(@NonNull @NonNull TransactionExecutionRequest request, @NonNull @NonNull Payment payment, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:TransactionExecutionRequestValidatorChecks whether or not theTransactionExecutionRequestis valid.- Specified by:
validatein interfaceTransactionExecutionRequestValidator- Parameters:
request- TheTransactionExecutionRequestto be checked.payment- The relatedPaymentthat the request will act against.contextInfo- Context information related to multitenancy.
-
validateTransactionType
protected void validateTransactionType(@NonNull @NonNull TransactionExecutionRequest request, @NonNull @NonNull Payment payment, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
validateTransactionAmount
protected void validateTransactionAmount(@NonNull @NonNull TransactionExecutionRequest request, @NonNull @NonNull Payment payment) -
getAmountAvailableForTransactionType
-
canTransactionAmountBeLessThanAvailableAmount
protected boolean canTransactionAmountBeLessThanAvailableAmount(TransactionExecutionRequest request, Payment payment) Determines if the transaction amount can be less than the available amount.- Parameters:
request- theTransactionExecutionRequestbeing validatedpayment- thePaymentbeing executed against- Returns:
- true if the transaction can be less than the available amount, otherwise false
-
validateParentTransaction
protected void validateParentTransaction(@NonNull @NonNull TransactionExecutionRequest request, @NonNull @NonNull Payment payment) -
validateParentTransactionType
protected void validateParentTransactionType(PaymentTransaction parentTransaction, @NonNull @NonNull String transactionType) -
validateParentTransactionAmounts
protected void validateParentTransactionAmounts(List<TransactionWithExecutableAmount> parentTransactionWithExecutableAmounts, @NonNull @NonNull javax.money.MonetaryAmount transactionAmount) Validates the total amount from parent transactions is sufficient for the giventransactionAmount.- Parameters:
parentTransactionWithExecutableAmounts- A list ofTransactionWithExecutableAmountsrepresenting all the parent transactions.transactionAmount- The amount to validate- See Also:
-
validateParentTransactionCurrency
protected void validateParentTransactionCurrency(PaymentTransaction parentTransaction, @NonNull @NonNull javax.money.MonetaryAmount transactionAmount) -
buildInvalidParentTransactionTypeMessage
protected String buildInvalidParentTransactionTypeMessage(@NonNull @NonNull String transactionType, @NonNull @NonNull PaymentTransaction parentTransaction, @NonNull @NonNull String... expectedParentTransactionTypes) -
validateSource
protected void validateSource(@NonNull @NonNull TransactionExecutionRequest request, @NonNull @NonNull Payment payment, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
getPaymentTransactionService
-
getPaymentSummaryService
-
getTransactionExecutionUtil
-