package ordering.common.model;
import ordering.common.vo.*;
import ordering.common.exceptions.*;
import java.util.Collection;
import ordering.common.exceptions.ModelAccessException;
/**
* OrderingModel interface is generic
interface to access Ordering System.
* Concrete implementation will be
generated on run-time by OrderingModelFactory
*/
public interface OrderingModel
{
public void
addPurchaseOrder(PurchaseOrderVO po) throws ModelAccessException,
IntegrityException;
public
Collection getPODescriptors(int partnerId, String status) throws
ModelAccessException, NotFoundException;
public
PurchaseOrderVO getPurchaseOrder(int id) throws ModelAccessException,
NotFoundException;
public void
acceptPurchaseOrder(int id) throws ModelAccessException, NotFoundException;
public void
rejectPurchaseOrder(int id) throws ModelAccessException, NotFoundException;
public
Collection getInvoiceDescriptors(int partnerId, String status) throws ModelAccessException,
InvalidStatusException,NotFoundException;
public
InvoiceVO getInvoice(int id) throws ModelAccessException, NotFoundException;
public void
saveInvoice(InvoiceVO invoice) throws ModelAccessException, IntegrityException;
public void sendInvoice(int
id) throws ModelAccessException, NotFoundException;
public int
newId(String sequence_name) throws ModelAccessException, NotFoundException;
}