package assign2startercode;
/**
 * 
 * @author macisac
 * @version 1.8.0
 */

public class OurDate {

	private int day;
	private int month;
	private int year;
	
	public OurDate() {
	
		this.day = 0;
		this.month = 0;
		this.year = 0;
	}
	
	public OurDate(int day, int month, int year) {
	
		this.day = day;
		this.month = month;
		this.year = year;
	}
	
	@Override
	public String toString() {
		return "day=" + day + ", month=" + month + ", year=" + year;
	}

	public int getDay() {
		return day;
	}

	public void setDay(int day) {
		this.day = day;
	}

	public int getMonth() {
		return month;
	}

	public void setMonth(int month) {
		this.month = month;
	}

	public int getYear() {
		return year;
	}

	public void setYear(int year) {
		this.year = year;
	}
	
	@Override
	public boolean equals(Object obj) {
		
		if (obj == null)
			return false;
		
		if( !(obj instanceof OurDate))
			return false;
		
		OurDate d = (OurDate)obj; //down cast
		
		if(this.getDay() == d.getDay() && this.getMonth() == this.getMonth() && this.getYear() == d.getYear()) {
			return true;
		}
		
		return false;
		
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + day;
		result = prime * result + month;
		result = prime * result + year;
		return result;
	}	
}//end class definition
