package cz.muni.fi.rtc.teacherWorkbench.model;

/**
 * Basic implementation of the {@link ImportedPersonImpl} ImportedPerson interface
 * @author Jan Stastny
 *
 */
public class ImportedPersonImpl implements ImportedPerson {

	private String firstName;
	private String lastName;
	private String emailAddress;
	private String description = "";
	private String rawPassword;
	private String uid;
	
	
	/* (non-Javadoc)
	 * @see cz.muni.fi.rtc.teacherWorkbench.ldap.IImportedPerson#getFirstName()
	 */
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	/* (non-Javadoc)
	 * @see cz.muni.fi.rtc.teacherWorkbench.ldap.IImportedPerson#getLastName()
	 */
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	/* (non-Javadoc)
	 * @see cz.muni.fi.rtc.teacherWorkbench.ldap.IImportedPerson#getEmailAddress()
	 */
	public String getEmailAddress() {
		return emailAddress;
	}
	public void setEmailAddress(String emailAddress) {
		this.emailAddress = emailAddress;
	}
	/* (non-Javadoc)
	 * @see cz.muni.fi.rtc.teacherWorkbench.ldap.IImportedPerson#getDescription()
	 */
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	/* (non-Javadoc)
	 * @see cz.muni.fi.rtc.teacherWorkbench.ldap.IImportedPerson#getRawPassword()
	 */
	public String getRawPassword() {
		return rawPassword;
	}
	public void setRawPassword(String rawPassword) {
		this.rawPassword = rawPassword;
	}
	/* (non-Javadoc)
	 * @see cz.muni.fi.rtc.teacherWorkbench.ldap.IImportedPerson#getUID()
	 */
	public String getUID() {
		return uid;
	}
	public void setUID(String uid) {
		this.uid = uid;
	}
	
	
	/**
	 * Uses uid field only
	 * @see java.lang.Object#hashCode()
	 * 
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((uid == null) ? 0 : uid.hashCode());
		return result;
	}
	/** 
	 * Uses uid field only
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (!(obj instanceof ImportedPersonImpl)) {
			return false;
		}
		ImportedPersonImpl other = (ImportedPersonImpl) obj;
		if (uid == null) {
			if (other.uid != null) {
				return false;
			}
		} else if (!uid.equals(other.uid)) {
			return false;
		}
		return true;
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "ImportedPersonImpl [uid=" + uid + ", lastName=" + lastName
				+ ", firstName=" + firstName + "]";
	}
	
	
	
	
	


}