package com.rbs.associate.business;
import java.util.Collection;
import java.util.Date;

import javax.ejb.*;
import java.rmi.RemoteException;

import com.rbs.common.associate.data.BusinessAssociateData;
import com.rbs.common.associate.ifc.BusinessAssociate;
import com.rbs.common.associate.ifc.Contact;
import com.rbs.common.associate.data.ContactData;
import com.rbs.common.associate.data.ContactAddressData;
import com.rbs.common.associate.data.ContactProfileData;
import com.rbs.common.associate.data.AddressData;

import com.rbs.common.associate.data.BusinessAssociateOID;
import com.rbs.common.associate.data.ContactOID;
import com.rbs.common.associate.data.ContactAddressOID;
import com.rbs.common.associate.data.ContactProfileOID;
import com.rbs.common.associate.data.AddressOID;

import java.util.Calendar;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */
public interface AssociateService extends EJBObject
{
    public java.util.Collection loadAllBusinessAssociates() throws RemoteException;
    public java.util.Collection loadBAContact(java.util.Date dt) throws RemoteException;
    public java.util.Collection getContactCollection(BusinessAssociate theBusinessAssociate) throws RemoteException;
    public BusinessAssociate searchBusinessAssociate(int baID) throws RemoteException;
    public java.util.Collection getContactCollection(int baID) throws java.rmi.RemoteException;
    public BusinessAssociate getBusinessAssociate(BusinessAssociateOID baOID) throws java.rmi.RemoteException;
    public Contact getContact(ContactOID contactOID) throws java.rmi.RemoteException;;
    public Contact getDefaultContact(int assetNbr, BusinessAssociateOID theBusinessAssociateOID, String roleCode, Calendar theCalendar) throws RemoteException;
/*
    public ContactOID getBillingContactOID(ContractOID kOID, Calendar effDate) throws java.rmi.RemoteException;
    public ContactOID getNominationContactOID(ContractOID kOID, Calendar effDate) throws java.rmi.RemoteException;
    public ContactOID getEmergencyContactOID(ContractOID kOID, Calendar effDate) throws java.rmi.RemoteException;
    public ContactOID getNotificationContactOID(ContractOID kOID, Calendar effDate) throws java.rmi.RemoteException;
*/
}