package org.springframework.prospring.ticket.web.confirmation;

import org.springframework.prospring.ticket.domain.*;
import org.springframework.prospring.ticket.service.*;

/**
 * Strategia wysyłania potwierdzeń zamówień.
 * Stanowi abstrakcję postaci w jakiej jest wysyłane potwierdzenie.
 */
public interface PurchaseConfirmationSender {

    /**
     * Wysyła komunikat stanowiący potwierdzenie zamówienia.
     * @param purchase Potwierdzane zakupu.
     * @throws PurchaseConfirmationSendingException
     */
    public void sendPurchaseConfirmation(Purchase purchase, PurchaseRequest purchaseRequest)
        throws PurchaseConfirmationSendingException;

}
