⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 todoitembean.java

📁 eclipse开发笔记
💻 JAVA
字号:
package rcpdev.todo.ui.todolist.common.beans.todoitem;

import java.util.Date;

import rcpdev.common.ui.databinding.AbstractBean;
import rcpdev.todo.core.model.TodoItem;
import rcpdev.todo.core.model.series.SeriesInfo;
import rcpdev.todo.core.model.series.TodoSeries;
import rcpdev.todo.core.model.series.info.DayInfo;
import rcpdev.todo.core.model.series.info.MonthInfo;
import rcpdev.todo.core.model.series.info.WeekInfo;

public class TodoItemBean extends AbstractBean {

	public static final String ATTR_TYPE = "type";

	public static final String ATTR_SUBJECT = "subject";

	public static final String ATTR_CONTENT = "content";

	public static final String ATTR_SERIES_TYPE = "seriesType";

	public static final String ATTR_START_DATE = "startDate";

	public static final String ATTR_START_TIME = "startTime";

	public static final String ATTR_STOP_TIME = "stopTime";

	public static final String ATTR_STOP_TYPE = "stopType";

	public static final String ATTR_STOP_DATE = "stopDate";

	public static final String ATTR_BY_DAY_TYPE = "byDayType";

	public static final String ATTR_BY_DAY_COUNT = "byDayCount";

	public static final String ATTR_BY_WEEK_COUNT = "byWeekCount";

	public static final String ATTR_BY_WEEK_DATA = "byWeekData";

	public static final String ATTR_BY_MONTH_COUNT = "byMonthCount";

	public static final String ATTR_BY_MONTH_DAY = "byMonthDay";

	public static final int TYPE_SINGLE = 0;

	public static final int TYPE_SERIES = 1;

	private int type = TYPE_SINGLE;

	private int startTime;

	private int stopTime;

	private String subject;

	private String content;

	private Date startDate;

	public static final int SERIES_TYPE_DAY = 0;

	public static final int SERIES_TYPE_WEEK = 1;

	public static final int SERIES_TYPE_MONTH = 2;

	private int seriesType = SERIES_TYPE_DAY;

	public static final int STOP_TYPE_DATE = 0;

	public static final int STOP_TYPE_NONE = 2;

	private int stopType = STOP_TYPE_DATE;

	private Date stopDate;

	public static final int BY_DAY_TYPE_COUNT = 0;

	public static final int BY_DAY_TYPE_WEEKDAY = 1;

	public static final int BY_DAY_TYPE_WEEKEND = 2;

	private int byDayType = BY_DAY_TYPE_COUNT;

	private int byDayCount;

	private int byWeekCount;

	private int byMonthCount;

	private int byMonthDay;

	private boolean[] byWeekData;

	public TodoItemBean() {
		setStartDate(new Date());
		setStopDate(new Date());
		setStartTime(16);
		setStopTime(17);
		setByDayCount(1);
		setByWeekCount(1);
		setByMonthCount(1);
		setByMonthDay(1);
		setByWeekData(new boolean[7]);
	}

	public TodoItemBean(TodoItem item) {
		this();
		setStartDate(item.getDate());
		setStartTime(item.getStartTime());
		setStopTime(item.getStopTime());
		setSubject(item.getSubject());
		setContent(item.getContent());
		setType(TYPE_SINGLE);
		if (item instanceof TodoSeries) {
			setType(TYPE_SERIES);
			TodoSeries series = (TodoSeries) item;
			setStopDate(series.getStopDate());
			switch (series.getSeriesType()) {
			case TodoSeries.TYPE_DATE:
				setStopType(STOP_TYPE_DATE);
				break;
			case TodoSeries.TYPE_ENDLESS:
				setStopType(STOP_TYPE_NONE);
			}
			if (series.getInfo() instanceof DayInfo) {
				DayInfo info = (DayInfo) series.getInfo();
				setSeriesType(TodoItemBean.SERIES_TYPE_DAY);
				setByDayType(info.getInfoType());
				setByDayCount(info.getInterval());
			}
			if (series.getInfo() instanceof WeekInfo) {
				WeekInfo info = (WeekInfo) series.getInfo();
				setSeriesType(TodoItemBean.SERIES_TYPE_WEEK);
				setByWeekCount(info.getInterval());
				setByWeekData(info.getWeekmap());
			}
			if (series.getInfo() instanceof MonthInfo) {
				MonthInfo info = (MonthInfo) series.getInfo();
				setSeriesType(TodoItemBean.SERIES_TYPE_MONTH);
				setByMonthCount(info.getInterval());
				setByMonthDay(info.getDayOfMonth());
			}

		}
	}

	public TodoItem extractItem() {
		TodoItem newItem = null;
		if (TodoItemBean.TYPE_SINGLE == getType()) {
			// Single Item
			newItem = new TodoItem();
		} else {
			// Series Item
			TodoSeries series = new TodoSeries();
			series.setStopDate(getStopDate());
			switch (getStopType()) {
			case TodoItemBean.STOP_TYPE_DATE:
				series.setSeriesType(TodoSeries.TYPE_DATE);
				break;
			case TodoItemBean.STOP_TYPE_NONE:
				series.setSeriesType(TodoSeries.TYPE_ENDLESS);
				break;
			}
			SeriesInfo info = null;
			switch (getSeriesType()) {
			case TodoItemBean.SERIES_TYPE_DAY:
				DayInfo dayInfo = new DayInfo();
				dayInfo.setInterval(getByDayCount());
				dayInfo.setInfoType(getByDayType());
				info = dayInfo;
				break;
			case TodoItemBean.SERIES_TYPE_WEEK:
				WeekInfo weekInfo = new WeekInfo();
				weekInfo.setInterval(getByWeekCount());
				weekInfo.setWeekmap(getByWeekData());
				info = weekInfo;
				break;
			case TodoItemBean.SERIES_TYPE_MONTH:
				MonthInfo monthInfo = new MonthInfo();
				monthInfo.setInterval(getByMonthCount());
				monthInfo.setDayOfMonth(getByMonthDay());
				info = monthInfo;
				break;
			}
			series.setInfo(info);

			newItem = series;
		}
		newItem.setSubject(getSubject());
		newItem.setContent(getContent());
		newItem.setDate(getStartDate());
		newItem.setStartTime(getStartTime());
		newItem.setStopTime(getStopTime());
		return newItem;
	}

	public boolean[] getByWeekData() {
		return byWeekData;
	}

	public void setByWeekData(boolean[] byWeekData) {
		Object oldValue = getByWeekData();
		this.byWeekData = byWeekData;
		firePropertyChange(ATTR_BY_WEEK_DATA, oldValue, byWeekData);
	}

	public int getType() {
		return type;
	}

	public void setType(int type) {
		int oldType = getType();
		this.type = type;
		firePropertyChange(ATTR_TYPE, oldType, type);
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		String oldContent = getContent();
		this.content = content;
		firePropertyChange(ATTR_CONTENT, oldContent, content);
	}

	public String getSubject() {
		return subject;
	}

	public void setSubject(String subject) {
		String oldSubject = getSubject();
		this.subject = subject;
		firePropertyChange(ATTR_SUBJECT, oldSubject, subject);
	}

	public int getSeriesType() {
		return seriesType;
	}

	public void setSeriesType(int seriesType) {
		int oldSt = getSeriesType();
		this.seriesType = seriesType;
		firePropertyChange(ATTR_SERIES_TYPE, oldSt, seriesType);
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		Date oldStartDate = getStartDate();
		this.startDate = startDate;
		firePropertyChange(ATTR_START_DATE, oldStartDate, startDate);
		setStopDate(startDate);
	}

	public int getStopType() {
		return stopType;
	}

	public void setStopType(int stopType) {
		int oldType = getStopType();
		this.stopType = stopType;
		firePropertyChange(ATTR_STOP_TYPE, oldType, stopType);
	}

	public Date getStopDate() {
		return stopDate;
	}

	public void setStopDate(Date stopDate) {
		Date oldDate = getStopDate();
		this.stopDate = stopDate;
		firePropertyChange(ATTR_STOP_DATE, oldDate, stopDate);
	}

	public int getByDayType() {
		return byDayType;
	}

	public void setByDayType(int byDayType) {
		int oldType = getByDayType();
		this.byDayType = byDayType;
		firePropertyChange(ATTR_BY_DAY_TYPE, oldType, byDayType);
	}

	public int getByDayCount() {
		return byDayCount;
	}

	public void setByDayCount(int byDayCount) {
		int oldCount = getByDayCount();
		this.byDayCount = byDayCount;
		firePropertyChange(ATTR_BY_DAY_COUNT, oldCount, byDayCount);
	}

	public int getByMonthCount() {
		return byMonthCount;
	}

	public void setByMonthCount(int byMonthCount) {
		int oldCount = getByMonthCount();
		this.byMonthCount = byMonthCount;
		firePropertyChange(ATTR_BY_MONTH_COUNT, oldCount, byMonthCount);
	}

	public int getByMonthDay() {
		return byMonthDay;
	}

	public void setByMonthDay(int byMonthDay) {
		int oldDay = getByMonthDay();
		this.byMonthDay = byMonthDay;
		firePropertyChange(ATTR_BY_MONTH_DAY, oldDay, byMonthDay);
	}

	public int getByWeekCount() {
		return byWeekCount;
	}

	public void setByWeekCount(int byWeekCount) {
		int oldCount = getByWeekCount();
		this.byWeekCount = byWeekCount;
		firePropertyChange(ATTR_BY_WEEK_COUNT, oldCount, byWeekCount);
	}

	public int getStartTime() {
		return startTime;
	}

	public void setStartTime(int startTime) {
		int oldStart = getStartTime();
		this.startTime = startTime;
		firePropertyChange(ATTR_START_TIME, oldStart, startTime);
	}

	public int getStopTime() {
		return stopTime;
	}

	public void setStopTime(int stopTime) {
		int oldStop = getStopTime();
		this.stopTime = stopTime;
		firePropertyChange(ATTR_STOP_TIME, oldStop, stopTime);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -