package edu.pdx.cs410J.family; import java.rmi.*; import java.util.*; /** * This interface models a {@link edu.pdx.cs410J.family.Person} * that is accessed remotely using Java Remote Method Invocation. */ public interface RemotePerson extends Remote { /** * Returns this person's unique id */ public int getId() throws RemoteException; /** * Returns this person's gender (either {@link * edu.pdx.cs410J.family.Person#MALE} or * {@link edu.pdx.cs410J.family.Person#FEMALE}. */ public Person.Gender getGender() throws RemoteException; // /** // * Sets this person's gender // */ // public void setGender(int gender) throws RemoteException; /** * Returns this person's first name */ public String getFirstName() throws RemoteException; /** * Sets this person's first name */ public void setFirstName(String firstName) throws RemoteException; /** * Returns this person's middle name */ public String getMiddleName() throws RemoteException; /** * Sets this person's middle name */ public void setMiddleName(String middleName) throws RemoteException; /** * Returns this person's last name */ public String getLastName() throws RemoteException; /** * Sets this person's last name */ public void setLastName(String lastName) throws RemoteException; /** * Returns the id of this person's father */ public int getFatherId() throws RemoteException; /** * Sets the id of this person's father * * @throws FamilyTreeException * The person with the given id cannot be found or the person * with that id is not {@link Person#MALE} */ public void setFatherId(int fatherId) throws RemoteException; /** * Returns the id of this person's mother */ public int getMotherId() throws RemoteException; /** * Sets the id of this person's mother * * @throws FamilyTreeException * The person with the given id cannot be found or the person * with that id is not {@link Person#FEMALE} */ public void setMotherId(int motherId) throws RemoteException; // /** // * Returns the marriages that this person has been involved in // */ // public Collection getMarriages() throws RemoteException; /** * Returns this person's date of birth */ public Date getDateOfBirth() throws RemoteException; /** * Sets this person's date of birth */ public void setDateOfBirth(Date dob) throws RemoteException; /** * Returns this person's date of death */ public Date getDateOfDeath() throws RemoteException; /** * Sets this person's date of death */ public void setDateOfDeath(Date dod) throws RemoteException; /** * Returns a string describing this person */ public String getDescription() throws RemoteException; }