/*
 * Copyright 2007 Kickmogu Co. Ltd. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
 * either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */



/*
 * 作成日: 2006/12/18
 *
 */
package com.kickmogu.rhythm.todo;

import java.util.*;

import com.kickmogu.rhythm.core.BaseBean;

public class Todo extends BaseBean {
	public final static int KIND_TODO = 0;
	public final static int KIND_CALENDAR = 1;

	public final static int LOOP_UNIT_NONE = 0;
	public final static int LOOP_UNIT_DAY = 1;
	public final static int LOOP_UNIT_WEEK = 2;
	public final static int LOOP_UNIT_MONTH = 3;
	public final static int LOOP_UNIT_YEAR = 4;
	
	public final static String PERM_ALL = "TODO_ALL";
	public final static String PERM_VIEW = "TODO_VIEW";
	public final static String PERM_WRITE = "TODO_WRITE";
	public final static String PERM_MANAGE = "TODO_MANAGE";
	
	public final static String CALENDAR_ALL = "CALENDAR_ALL";
	public final static String CALENDAR_VIEW = "CALENDAR_VIEW";
	public final static String CALENDAR_WRITE = "CALENDAR_WRITE";
	public final static String CALENDAR_MANAGE = "CALENDAR_MANAGE";

	public final static String UNIQ_KEYNAME = "rhtym todo id";

	private int kind;
	private int seq;
	private int depth;
	private int rootId;
	private String subject;
	private String body;
	// 発言しているカテゴリのID
	private int todoTreeId;
	private Date planFromDate;
	private Date planToDate;
	private int loopUnit;
	private int loopInterval;
	private Date loopTarget;
	private int loopCount;
	private boolean complete;
	// 繰り返し設定されたTODOの元TODOを示す
	private int parentId;
	// 検索者の権限
	private int myRole;
	// 公開フラグ
	private boolean open;
	
	/**
	 * @return body を戻します。
	 */
	public String getBody() {
		return body;
	}
	/**
	 * @param body body を設定。
	 */
	public void setBody(String body) {
		this.body = body;
	}
	/**
	 * @return depth を戻します。
	 */
	public int getDepth() {
		return depth;
	}
	/**
	 * @param depth depth を設定。
	 */
	public void setDepth(int depth) {
		this.depth = depth;
	}
	/**
	 * @return rootId を戻します。
	 */
	public int getRootId() {
		return rootId;
	}
	/**
	 * @param rootId rootId を設定。
	 */
	public void setRootId(int rootId) {
		this.rootId = rootId;
	}
	/**
	 * @return seq を戻します。
	 */
	public int getSeq() {
		return seq;
	}
	/**
	 * @param seq seq を設定。
	 */
	public void setSeq(int seq) {
		this.seq = seq;
	}
	/**
	 * @return subject を戻します。
	 */
	public String getSubject() {
		return subject;
	}
	/**
	 * @param subject subject を設定。
	 */
	public void setSubject(String subject) {
		this.subject = subject;
	}
	/**
	 * @return boardTreeId を戻します。
	 */
	public int getTodoTreeId() {
		return todoTreeId;
	}
	/**
	 * @param boardTreeId boardTreeId を設定。
	 */
	public void setTodoTreeId(int boardTreeId) {
		this.todoTreeId = boardTreeId;
	}
	/**
	 * @return planFromDate を戻します。
	 */
	public Date getPlanFromDate() {
		return planFromDate;
	}
	/**
	 * @param planFromDate planFromDate を設定。
	 */
	public void setPlanFromDate(Date planFromDate) {
		this.planFromDate = planFromDate;
	}
	/**
	 * @return planToDate を戻します。
	 */
	public Date getPlanToDate() {
		return planToDate;
	}
	/**
	 * @param planToDate planToDate を設定。
	 */
	public void setPlanToDate(Date planToDate) {
		this.planToDate = planToDate;
	}
	/**
	 * @return complete を戻します。
	 */
	public boolean isComplete() {
		return complete;
	}
	/**
	 * @param complete complete を設定。
	 */
	public void setComplete(boolean complete) {
		this.complete = complete;
	}
	/**
	 * @return loopCount を戻します。
	 */
	public int getLoopCount() {
		return loopCount;
	}
	/**
	 * @param loopCount loopCount を設定。
	 */
	public void setLoopCount(int loopCount) {
		this.loopCount = loopCount;
	}
	/**
	 * @return loopInterval を戻します。
	 */
	public int getLoopInterval() {
		return loopInterval;
	}
	/**
	 * @param loopInterval loopInterval を設定。
	 */
	public void setLoopInterval(int loopInterval) {
		this.loopInterval = loopInterval;
	}
	/**
	 * @return loopTarget を戻します。
	 */
	public Date getLoopTarget() {
		return loopTarget;
	}
	/**
	 * @param loopTarget loopTarget を設定。
	 */
	public void setLoopTarget(Date loopTarget) {
		this.loopTarget = loopTarget;
	}
	/**
	 * @return loopUnit を戻します。
	 */
	public int getLoopUnit() {
		return loopUnit;
	}
	/**
	 * @param loopUnit loopUnit を設定。
	 */
	public void setLoopUnit(int loopUnit) {
		this.loopUnit = loopUnit;
	}
	/**
	 * @return parentId を戻します。
	 */
	public int getParentId() {
		return parentId;
	}
	/**
	 * @param parentId parentId を設定。
	 */
	public void setParentId(int parentId) {
		this.parentId = parentId;
	}
	/**
	 * @return kind を戻します。
	 */
	public int getKind() {
		return kind;
	}
	/**
	 * @param kind kind を設定。
	 */
	public void setKind(int kind) {
		this.kind = kind;
	}
	/**
	 * @return myRole を戻します。
	 */
	public int getMyRole() {
		return myRole;
	}
	/**
	 * @param myRole myRole を設定。
	 */
	public void setMyRole(int myRole) {
		this.myRole = myRole;
	}
	/**
	 * @return open を戻します。
	 */
	public boolean isOpen() {
		return open;
	}
	/**
	 * @param open open を設定。
	 */
	public void setOpen(boolean open) {
		this.open = open;
	}
}
