/*
* Copyright 2012 Kazumune Katagiri. (http://d.hatena.ne.jp/nemuzuka)
*
* 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.
*/
package jp.co.nemuzuka.model;
import java.util.Date;
import net.arnx.jsonic.JSONHint;
import org.slim3.datastore.Attribute;
import org.slim3.datastore.CreationDate;
import org.slim3.datastore.Model;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.Text;
/**
* Ticketを管理するModel.
* @author k-katagiri
*/
@Model(schemaVersion = 1)
public class TicketModel extends AbsModel {
/** TicketKey. */
//自動採番
@Attribute(primaryKey=true)
private Key key;
/** プロジェクトKey. */
private Key projectKey;
/** 件名. */
private String title;
/** 内容. */
@Attribute(unindexed=true)
private Text content;
/** 終了条件. */
@Attribute(unindexed=true)
private Text endCondition;
/** 優先度. */
private String priority;
/** ステータス. */
private String status;
/** 種別. */
private String targetKind;
/** カテゴリ. */
private String category;
/** マイルストーンKey. */
//マイルストーンはKey参照
private Key milestone;
/** 対応バージョン. */
private String targetVersion;
/** 対応メンバーKey. */
private Key targetMemberKey;
/** 開始日. */
@Attribute(unindexed=true)
private Date startDate;
/** 期限. */
private Date period;
/** 親TicketKey. */
private Key parentTicketKey;
/** チケットNo. */
private Long no;
/** 登録日時. */
@Attribute(listener = CreationDate.class, unindexed=true)
private Date createdAt;
/**
* @return the key
*/
@JSONHint(ignore=true)
public Key getKey() {
return key;
}
/**
* @return the createdAt
*/
@JSONHint(ignore=true)
public Date getCreatedAt() {
return createdAt;
}
/**
* @return the content
*/
@JSONHint(ignore=true)
public Text getContent() {
return content;
}
/**
* @return the endCondition
*/
@JSONHint(ignore=true)
public Text getEndCondition() {
return endCondition;
}
/**
* @return the targetMemberKey
*/
@JSONHint(ignore=true)
public Key getTargetMemberKey() {
return targetMemberKey;
}
/**
* @return the projectKey
*/
@JSONHint(ignore=true)
public Key getProjectKey() {
return projectKey;
}
/**
* @return the milestone
*/
@JSONHint(ignore=true)
public Key getMilestone() {
return milestone;
}
/**
* @return the period
*/
@JSONHint(ignore=true)
public Date getPeriod() {
return period;
}
/**
* @return the parentTicketKey
*/
@JSONHint(ignore=true)
public Key getParentTicketKey() {
return parentTicketKey;
}
/**
* @return the startDate
*/
@JSONHint(ignore=true)
public Date getStartDate() {
return startDate;
}
/**
* @param startDate the startDate to set
*/
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
/**
* @param parentTicketKey the parentTicketKey to set
*/
public void setParentTicketKey(Key parentTicketKey) {
this.parentTicketKey = parentTicketKey;
}
/**
* @param projectKey the projectKey to set
*/
public void setProjectKey(Key projectKey) {
this.projectKey = projectKey;
}
/**
* @return the title
*/
public String getTitle() {
return title;
}
/**
* @param title the title to set
*/
public void setTitle(String title) {
this.title = title;
}
/**
* @param content the content to set
*/
public void setContent(Text content) {
this.content = content;
}
/**
* @param endCondition the endCondition to set
*/
public void setEndCondition(Text endCondition) {
this.endCondition = endCondition;
}
/**
* @return the priority
*/
public String getPriority() {
return priority;
}
/**
* @param priority the priority to set
*/
public void setPriority(String priority) {
this.priority = priority;
}
/**
* @return the status
*/
public String getStatus() {
return status;
}
/**
* @param status the status to set
*/
public void setStatus(String status) {
this.status = status;
}
/**
* @return the targetKind
*/
public String getTargetKind() {
return targetKind;
}
/**
* @param targetKind the targetKind to set
*/
public void setTargetKind(String targetKind) {
this.targetKind = targetKind;
}
/**
* @return the category
*/
public String getCategory() {
return category;
}
/**
* @param category the category to set
*/
public void setCategory(String category) {
this.category = category;
}
/**
* @param milestone the milestone to set
*/
public void setMilestone(Key milestone) {
this.milestone = milestone;
}
/**
* @return the targetVersion
*/
public String getTargetVersion() {
return targetVersion;
}
/**
* @param targetVersion the targetVersion to set
*/
public void setTargetVersion(String targetVersion) {
this.targetVersion = targetVersion;
}
/**
* @param targetMemberKey the targetMemberKey to set
*/
public void setTargetMemberKey(Key targetMemberKey) {
this.targetMemberKey = targetMemberKey;
}
/**
* @param period the period to set
*/
public void setPeriod(Date period) {
this.period = period;
}
/**
* @param createdAt the createdAt to set
*/
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
/**
* @param key the key to set
*/
public void setKey(Key key) {
this.key = key;
}
/**
* @return the no
*/
public Long getNo() {
return no;
}
/**
* @param no the no to set
*/
public void setNo(Long no) {
this.no = no;
}
}