package io.github.memfis19.sample.model;
import java.util.Date;
import io.github.memfis19.cadar.data.entity.Event;
import io.github.memfis19.cadar.data.entity.property.EventProperties;
/**
* Created by memfis on 11/23/16.
*/
public class EventModel implements Event {
private long id = System.currentTimeMillis();
private String title = "Event #" + String.valueOf(id);
private String description = "";
private Date originalStartDate = new Date();
private Date startDate = (Date) originalStartDate.clone();
private Date endDate = new Date();
public EventModel() {
}
public EventModel(Event event) {
this.id = event.getEventId();
this.title = event.getEventTitle();
this.description = event.getEventDescription();
this.originalStartDate = event.getOriginalEventStartDate();
this.startDate = event.getEventStartDate();
this.endDate = event.getEventEndDate();
}
@Override
public Long getEventId() {
return id;
}
@Override
public String getEventTitle() {
return title;
}
@Override
public String getEventDescription() {
return description;
}
@Override
public Date getOriginalEventStartDate() {
return originalStartDate;
}
@Override
public Date getEventStartDate() {
return startDate;
}
@Override
public Date getEventEndDate() {
return endDate;
}
@Override
public void setEventStartDate(Date startEventDate) {
this.startDate = startEventDate;
}
@Override
public void setEventEndDate(Date endEventDate) {
this.endDate = endEventDate;
}
@Override
public void setCalendarId(Long calendarId) {
}
@Override
public Long getCalendarId() {
return 0l;
}
@Override
public int getEventRepeatPeriod() {
return EventProperties.EVERY_WEEK;
}
@Override
public String getEventIconUrl() {
return "";
}
@Override
public Boolean isEditable() {
return false;
}
@Override
public Boolean isAllDayEvent() {
return false;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((this.getEventId() == 0) ? 0 : Long.valueOf(this.getEventId()).hashCode());
result = prime * result + ((this.getEventStartDate() == null) ? 0 : this.getEventStartDate().hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (((Object) this).getClass() != obj.getClass())
return false;
EventModel other = (EventModel) obj;
if (this.getEventId() == 0) {
if (other.getEventId() != 0)
return false;
} else if (getEventId() != other.getEventId())
return false;
if (this.getEventStartDate() == null) {
if (other.getEventStartDate() != null)
return false;
} else if (!getEventStartDate().equals(other.getEventStartDate()))
return false;
return true;
}
}