package org.objectweb.jonas.jtests.beans.ejbql;

import javax.ejb.CreateException;
import javax.ejb.FinderException;
import java.rmi.RemoteException;
import java.util.Collection;
import java.util.Set;

import org.objectweb.jonas.jtests.beans.ejbql.AddressRemote;

public interface CustomerHomeRemote extends javax.ejb.EJBHome {

    public CustomerRemote create(Integer id)
        throws CreateException, RemoteException;

    public CustomerRemote findByPrimaryKey(Integer id)
        throws FinderException, RemoteException;
    public CustomerRemote findById(Integer id)
    throws FinderException, RemoteException;
    public CustomerRemote findByExactName(String lastName, String firstName)
        throws FinderException, RemoteException;
    public Collection findByName(String lastName, String firstName)
        throws FinderException, RemoteException;
    public Collection findByNotName(String lastName, String firstName)
    throws FinderException, RemoteException;
    public Collection findAllMike()
        throws FinderException, RemoteException;
    public CustomerRemote findSmith90()  
        throws FinderException, RemoteException;
    public Collection findByGoodCredit()
        throws FinderException, RemoteException;
    public Collection findByCity(String city, String state)
        throws FinderException, RemoteException;
    public Collection findInHotStates()
        throws FinderException, RemoteException;
    public Collection findWithoutReservations()
        throws FinderException, RemoteException;
    public Collection findWithReservations()
        throws FinderException, RemoteException;
    public Collection findWithOrWithoutReservations()
        throws FinderException, RemoteException;
    public Collection findWithoutReservationsAndWithGoodCredit(boolean b)
        throws FinderException, RemoteException;
    public Collection findBisWithoutReservationsAndWithGoodCredit(boolean b)
        throws FinderException, RemoteException;
    public Collection findTerWithoutReservationsAndWithGoodCredit(boolean b)
        throws FinderException, RemoteException;
    public Collection findQuadWithoutReservationsAndWithGoodCredit(boolean b)
        throws FinderException, RemoteException;
    public Collection findWithoutReservationsOrWithGoodCredit(boolean b)
        throws FinderException, RemoteException;
    public Collection findByNameAndState(String lastName, String firstName, String state)
        throws FinderException, RemoteException;
    public Collection findAllCreditCardAddress(String city)
        throws FinderException, RemoteException;
    public Collection findAllCustomersWithReservation()
        throws FinderException, RemoteException;
    public Collection findAllCustomersWithReservationDistinct()
        throws FinderException, RemoteException;
    public Collection findByAddress(AddressRemote add)
        throws FinderException, RemoteException;
    public Collection findByAddressId(Integer addId)
        throws FinderException, RemoteException;
    public Collection findCustomersAll() 
        throws FinderException, RemoteException;
    public Collection findCustomersWithCreditCard()
        throws FinderException, RemoteException;
    public Collection findCustomersWithOutCreditCard()
        throws FinderException, RemoteException;
    public Collection findCustomersXWithOutCreditCard(String firstName)
	throws FinderException, RemoteException;
    public Collection findCustomersWithCreditCompany()
        throws FinderException, RemoteException;
    public Collection findAllOrderByLastname()
        throws FinderException, RemoteException;
    public Collection findAllOrderByDescLastnameAscFirstname()
        throws FinderException, RemoteException;
    public Collection findCustWithCCNumOrAddrZip(java.lang.String ccNum, java.lang.String addrZip)
    throws FinderException, RemoteException;
    public Collection findAllWithLimit_1(int startAt) throws FinderException, RemoteException;
    public Collection findAllWithLimit_2(int startAt) throws FinderException, RemoteException;

    // Home method, requires ejbHomeXXX method in bean class
    public Collection callFindOnCruise(Integer cruiseId)
    	throws FinderException, RemoteException;
    public Collection callFindByAddressLocal(Integer add)
        throws FinderException, RemoteException;
    public Collection callFindByParameterIsNull(Integer cc)
        throws FinderException, RemoteException;
    public String selectAddrCity(Integer id)
        throws javax.ejb.FinderException, RemoteException;
    public String selectLastName(Integer id)
        throws javax.ejb.FinderException, RemoteException;
    public Set selectFirstName() throws javax.ejb.FinderException, RemoteException;
    public Collection selectDistinctFirstName()
        throws javax.ejb.FinderException, RemoteException;
    public Integer selectAddr(Integer id)
        throws javax.ejb.FinderException, RemoteException;
    public Collection selectAllCreditCardAddr()
        throws javax.ejb.FinderException, RemoteException;
    public Collection selectRogerAddr()
        throws javax.ejb.FinderException, RemoteException;
    public long getCountCreditCard()
        throws javax.ejb.FinderException, RemoteException;
    public Collection getCreditCardNumbers()
        throws javax.ejb.FinderException, RemoteException;
    public long getCountCustomersWithId1(Integer id)
        throws javax.ejb.FinderException, RemoteException;
    public long getCountCustomersWithId2(int id)
        throws javax.ejb.FinderException, RemoteException;
    public long getCountCustomersRingo()
        throws javax.ejb.FinderException, RemoteException;


}

