package com.oreilly.jent.people.ejb;

import java.rmi.RemoteException;

import javax.ejb.EJBObject;

import com.oreilly.jent.people.InvalidSearchException;
import com.oreilly.jent.people.PersistenceException;
import com.oreilly.jent.people.Person;
import com.oreilly.jent.people.SearchArg;


/**
 * Remote client interface for the EJB component
 */
public interface PeopleFinder extends EJBObject {
    /**
     * findPeople: Search the underlying person information using the 
     *   search parameters provided in the arguments.  This method
     *   supports the same search parameters as those supported by the
     *   PersonDAO interface.
     * @param args Search parameters, as an array of SearchArgs.
     * @return Array of Person beans representing the results.
     * @throws InvalidSearchException, PersistenceException or RemoteException
     */
    public Person[] findPeople(SearchArg[] args)
    	    throws InvalidSearchException, PersistenceException, RemoteException;
}
