package hu.sch.domain.util;
import java.io.Serializable;
import java.util.Date;
/**
* Egyszerű intervallumot reprezentál (naptól napig)
*
* @author messo
* @since 2.3.1
*/
public class DateInterval implements Comparable<DateInterval>, Serializable {
protected Date start;
protected Date end;
public DateInterval(Date start, Date end) {
this.start = start;
this.end = end;
}
public Date getStart() {
return start;
}
public void setStart(Date start) {
this.start = start;
}
public Date getEnd() {
return end;
}
public void setEnd(Date end) {
this.end = end;
}
@Override
public int compareTo(DateInterval o) {
// kezdet szerint rendezünk
int ret = start.compareTo(o.start);
if (ret != 0) {
return ret;
}
// ha a kezdet ugyanaz, akkor nézzük a végét.
if (end != null && o.end != null) {
return end.compareTo(o.end);
}
return 0;
}
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (obj instanceof DateInterval) {
DateInterval other = (DateInterval) obj;
return (start == other.start || (start != null && start.equals(other.start)))
&& (end == other.end || (end != null && end.equals(other.end)));
}
return false;
}
@Override
public int hashCode() {
int hash = 3;
hash = 97 * hash + (this.start != null ? this.start.hashCode() : 0);
hash = 97 * hash + (this.end != null ? this.end.hashCode() : 0);
return hash;
}
}