/**
 * 
 */
package it.mice.voila.runtime.jquery.wdcalendar;

import it.mice.voila.runtime.util.DateTimeUtils;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

/**
 * Elenco di tutte le consuntivazioni del TimeSheet corrente.
 */
public class CalendarEventsBean implements Serializable {
	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = -8752775054368178749L;
	/**
	 * Elenco di tutte le consuntivazioni del TimeSheet corrente.
	 */
	private Collection<CalendarEventBean> events = new ArrayList<CalendarEventBean>();
	/**
	 * True se la collezione degli elementi è già ordinata.
	 */
	private boolean issort = true;
	/**
	 * Data/ora inizio periodo degli eventi di calendario.
	 */
	private String start;
	/**
	 * Data/ora fine periodo degli eventi di calendario.
	 */
	private String end;
	/**
	 * Eventuali errori durante la lettura degli eventi.
	 */
	private Object error;
	
	/**
	 * Costruttore di default.
	 * @param startDate inizio periodo
	 * @param endDate fine periodo
	 * @param viewtype view type
	 */
	public CalendarEventsBean(Date startDate, Date endDate, String viewtype) {
		this.start = DateTimeUtils.formatAmericanDate(startDate);
		this.end = DateTimeUtils.formatAmericanDate(endDate);
	}

	/**
	 * Getter per la proprietà events.
	 * @return la proprietà events
	 */
	public Collection<CalendarEventBean> getEvents() {
		return events;
	}

	/**
	 * Setter per la proprietà events.
	 * @param events la proprietà events da settare
	 */
	public void setEvents(Collection<CalendarEventBean> events) {
		this.events = events;
	}

	/**
	 * Getter per la proprietà issort.
	 * @return la proprietà issort
	 */
	public boolean isIssort() {
		return issort;
	}

	/**
	 * Setter per la proprietà issort.
	 * @param issort la proprietà issort da settare
	 */
	public void setIssort(boolean issort) {
		this.issort = issort;
	}

	/**
	 * Getter per la proprietà error.
	 * @return la proprietà error
	 */
	public Object getError() {
		return error;
	}

	/**
	 * Setter per la proprietà error.
	 * @param error la proprietà error da settare
	 */
	public void setError(Object error) {
		this.error = error;
	}

	/**
	 * Getter per la proprietà start.
	 * @return la proprietà start
	 */
	public String getStart() {
		return start;
	}

	/**
	 * Setter per la proprietà start.
	 * @param start la proprietà start da settare
	 */
	public void setStart(String start) {
		this.start = start;
	}

	/**
	 * Getter per la proprietà end.
	 * @return la proprietà end
	 */
	public String getEnd() {
		return end;
	}

	/**
	 * Setter per la proprietà end.
	 * @param end la proprietà end da settare
	 */
	public void setEnd(String end) {
		this.end = end;
	}
	
}
