/*
 * Created on Nov 9, 2003
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package cmr;
import javax.ejb.*;
import javax.naming.*;
/**
 * EJB Bean for 1:1 CMR relationship
 * @author mistroni
 * @ejb.bean
 *      type="CMP"
 *      version="2.x"
 *      name="UserInfo"
 *      schema="UserInfoBean"
 *      view-type="local"
 *      primkey-field="email"
 *      local-jndi-name="UserInfoLocal"
 * 
 * @ejb.interface generate="local"
 * @ejb.persistence table_name="tbl_userinfo"
 * 
 **/
public abstract class UserInfoBean implements EntityBean {
	
	/* Abstract get/set methods */
	
	/**
	 * @ejb.persistent-field
	 * @ejb.interface-method 
	 * @ejb.persistence colum-name="email"
	 * @ejb.pk-field
	 */
	public abstract String getEmail();
	
	public abstract void setEmail(String email);
	
	/**
	 * @ejb.persistent-field
	 * @ejb.interface-method
	 * @ejb.persistence column-name="firstname"
	 */
	public abstract String getFirstName();
	
	/**
	 * @ejb.interface-method
	 */
	public abstract void setFirstName(String value);
	
	/**
	 * @ejb.persistent-field
	 * @ejb.interface-method 
	 * @ejb.persistence colum-name="lastname"
	 */
	public abstract String getLastName();

	/**
	 * @ejb.interface-method
	 */
	public abstract void setLastName(String value);

	/**
	 * @ejb.persistent-field
	 * @ejb.interface-method
	 * @ejb.persistence column-name="middlename"
	 */
	public abstract String getMiddleName();

	/**
	 * @ejb.interface-method
	 */
	public abstract void setMiddleName(String value);
  
	/**
	 * @return return the User associated to this UserInfo
	 * @ejb.interface-method
	 * @ejb.transaction type="Required"
	 * @ejb.relation
	 *      name="UserHasUserInfo"
	 *      role-name="UserInfoPartOfUser"
	 * @weblogic.target-column-map
     *    foreign-key-column="email"
	 **/
	public abstract UserLocal getUser();

	/**
	 * @ejb.interface-method
	 */
	public abstract void setUser(UserLocal user);

	/**
	 * @ejb.persistent-field
	 * @ejb.interface-method
	 * @ejb.persistence column-name="dept"
	 */
	public abstract String getDept();

	/**
	 * @ejb.interface-method
	 */
	public abstract void setDept(String value);

	/**
	 * @ejb.persistent-field
	 * @ejb.interface-method 
	 * @ejb.persistence colum-name="extention"
	 */
	public abstract String getExtention();

	/**
	 * @ejb.interface-method
	 */
	public abstract void setExtention(String value);

	/**
	 * @ejb.persistent-field
	 * @ejb.interface-method
	 * @ejb.persistence column-name="workphone"
	 */
	public abstract String getWorkPhone();

	/**
	 * @ejb.interface-method
	 */
	public abstract void setWorkPhone(String value);
	
	/**
	 * @ejb.persistent-field
	 * @ejb.interface-method 
	 * @ejb.persistence colum-name="employee"
	 */
	public abstract boolean getEmployee();

	/**
	 * @ejb.interface-method
	 */
	public abstract void setEmployee(boolean value);

	/**
	 * @ejb.persistent-field
	 * @ejb.interface-method
	 * @ejb.persistence column-name="homephone"
	 */
	public abstract String getHomePhone();

	/**
	 * @ejb.interface-method
	 */
	public abstract void setHomePhone(String value);

    /**
     * @ejb.create-method
     */
    public String ejbCreate(String firstName, String middleName,
    						String lastName, String email,
    						String dept, String workPhone,
    						String extention, String homePhone,
    						boolean isEmployee) throws CreateException  {
    	setEmail(email);
    	setDept(dept);
    	setWorkPhone(workPhone);
    	setExtention(extention);
    	setHomePhone(homePhone);
    	setEmployee(isEmployee);
    	setFirstName(firstName);
    	setLastName(lastName);
    	setMiddleName(middleName);
    	
    	return null;						
    }
    
	public void ejbPostCreate(String firstName, String middleName,
							String lastName, String email,
							String dept, String workPhone,
							String extention, String homePhone,
							boolean isEmployee) throws CreateException  {
		setEmail(email);
		setDept(dept);
		setWorkPhone(workPhone);
		setExtention(extention);
		setHomePhone(homePhone);
		setEmployee(isEmployee);
		setFirstName(firstName);
		setLastName(lastName);
		setMiddleName(middleName);
	
					
	}

}
