// Written by Caleb Early

class TravelCourseSection extends TravelCourse{
	private int sectionNum = -1;
	private String instructor = null;
	public TravelCourseSection(int sectionNum,String instructor,String catalogNum,String title,int credits,Locations destination) throws IllFormedSectionException{
		super(catalogNum,title,credits,destination);
		if(instructor == null){
			throw new IllFormedSectionException("Instructor is null");
		}
		this.sectionNum = sectionNum;
		this.instructor = instructor;
	}

	public int getSectionNum(){
		return sectionNum;
	}
	public String getInstructor(){
		return instructor;
	}
	@Override
	public String toString(){
		return getCatalogNum()+", "+sectionNum+", "+getTitle()+", "+instructor;
	}
	@Override
	public boolean equals(Object obj){
		if(!(obj instanceof TravelCourseSection)){
			return false;
		}
		TravelCourseSection that = (TravelCourseSection)obj;
		return (this.getCatalogNum().equals(that.getCatalogNum()) && this.sectionNum == that.sectionNum);
	}
	@Override
	public int hashCode(){
		int result = 17;
		result += result*31 + getCatalogNum().hashCode();
		result += result*31 + sectionNum;
		return result;
	}
}
