Interface PaymentAccountService<P extends PaymentAccount>

  • All Superinterfaces:
    com.broadleafcommerce.data.tracking.core.service.CrudEntityService<P>, com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>
    All Known Implementing Classes:
    DefaultPaymentAccountService

    public interface PaymentAccountService<P extends PaymentAccount>
    extends com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService<P>
    Service API for Payment Accounts. Supported by PaymentAccountRepository.
    Author:
    Marie Standeven (marieStandeven)
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      PaymentAccount addPaymentAccount​(String customerId, P paymentAccountRequest, boolean makeDefaultAccount, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Pass the paymentAccount JpaPaymentAccount for processing the default account relationship with the customer before saving to the data store.
      void delete​(String customerId, String paymentAccountId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Pass the ID of the paymentAccount JpaPaymentAccount and the owning customer for removal of the paymentAccount.
      org.springframework.data.domain.Page<P> readAllByCustomerId​(String customerId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, org.springframework.data.domain.Pageable page, cz.jirutka.rsql.parser.ast.Node filters)
      Pass the Customer ID to find all the active paymentAccount JpaPaymentAccount entities
      P readByContextIdAndCustomerId​(String id, String customerId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Pass the ID of the paymentAccount JpaPaymentAccount and the owning customer ID for retrieval of the paymentAccount from the data store.
      List<P> readPaymentAccountsByContextId​(List<String> ids, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Pass a list of paymentAccount IDs to return a list of the paymentAccounts JpaPaymentAccount associated with those IDs.
      P update​(P paymentAccount, Customer customer, boolean makeDefaultAccount, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Pass the updated paymentAccount JpaPaymentAccount and the owning customer for persistence to the data store.
      • Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.CrudEntityService

        create, createAll, createAllAllowingPartialSuccess, delete, readAll, readAll, readAll, readAllByContextId, readByContextId, replace, replaceAll, replaceAllAllowingPartialSuccess, update, updateAll, updateAllAllowingPartialSuccess, updateSort
      • Methods inherited from interface com.broadleafcommerce.data.tracking.core.service.RsqlCrudEntityService

        readAll, readAll, readAll, readAll
    • Method Detail

      • readAllByCustomerId

        org.springframework.data.domain.Page<P> readAllByCustomerId​(@NonNull
                                                                    String customerId,
                                                                    @Nullable
                                                                    com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo,
                                                                    @Nullable
                                                                    org.springframework.data.domain.Pageable page,
                                                                    @Nullable
                                                                    cz.jirutka.rsql.parser.ast.Node filters)
        Pass the Customer ID to find all the active paymentAccount JpaPaymentAccount entities
        Parameters:
        customerId - the ID of the owning customer
        contextInfo - context information surrounding sandboxing and multitenant state
        page - the requested page of results from the database
        filters - An RSQL filter used to narrow query results. May be EmptyNode if no filters should be applied.
        Returns:
        the payment accounts in the data store with that customer ID.
      • addPaymentAccount

        PaymentAccount addPaymentAccount​(String customerId,
                                         P paymentAccountRequest,
                                         boolean makeDefaultAccount,
                                         @Nullable
                                         com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Pass the paymentAccount JpaPaymentAccount for processing the default account relationship with the customer before saving to the data store.
        Parameters:
        customerId - the ID of the owning customer
        paymentAccountRequest - the paymentAccount to be persisted
        makeDefaultAccount - whether this is the default paymentAccount for the customer
        contextInfo - context information surrounding sandboxing and multitenant state
        Returns:
        the newly created payment account
      • readByContextIdAndCustomerId

        P readByContextIdAndCustomerId​(String id,
                                       String customerId,
                                       @Nullable
                                       com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Pass the ID of the paymentAccount JpaPaymentAccount and the owning customer ID for retrieval of the paymentAccount from the data store.
        Parameters:
        id - the ID of the paymentAccount to be found
        customerId - the ID of the owning customer
        contextInfo - context information surrounding sandboxing and multitenant state
        Returns:
        the payment account in the data store if found
      • update

        P update​(P paymentAccount,
                 Customer customer,
                 boolean makeDefaultAccount,
                 @Nullable
                 com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Pass the updated paymentAccount JpaPaymentAccount and the owning customer for persistence to the data store.
        Parameters:
        paymentAccount - the paymentAccount to be persisted
        customer - the owning customer
        makeDefaultAccount - whether this is the default paymentAccount for the customer
        contextInfo - context information surrounding sandboxing and multitenant state
        Returns:
        the payment account after it has been updated
      • delete

        void delete​(String customerId,
                    String paymentAccountId,
                    @Nullable
                    com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Pass the ID of the paymentAccount JpaPaymentAccount and the owning customer for removal of the paymentAccount.
        Parameters:
        customerId - the ID of the owning customer
        paymentAccountId - the ID of paymentAccount to be removed
        contextInfo - context information surrounding sandboxing and multitenant state
      • readPaymentAccountsByContextId

        List<P> readPaymentAccountsByContextId​(List<String> ids,
                                               @Nullable
                                               com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Pass a list of paymentAccount IDs to return a list of the paymentAccounts JpaPaymentAccount associated with those IDs.
        Parameters:
        ids - the IDs of the paymentAccounts to be retrieved
        contextInfo - context information surrounding sandboxing and multitenant state
        Returns:
        the payment accounts found by ID in the data store