// ========================================================================
// Copyright (C) zeroth Project Team. All rights reserved.
// GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007
// http://www.gnu.org/licenses/agpl-3.0.txt
// ========================================================================
package zeroth.actor.service.domain.misc;
import java.util.Date;
import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import zeroth.framework.enterprise.domain.AbstractVersionable;
/**
* 告知
* @param <T> 告知オブジェクト型
* @author nilcy
*/
@Entity
@Table(name = "notice")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "notice_type", discriminatorType = DiscriminatorType.STRING)
@Cacheable(true)
public class Notice<T extends Notice<T>> extends AbstractVersionable<T> {
/** 製品番号 */
private static final long serialVersionUID = 1479222182416558368L;
/** 表題 */
@Column(name = "title", nullable = false, insertable = true, updatable = true)
private String title;
/** 説明 */
@Column(name = "description", nullable = false, insertable = true, updatable = true)
private String description;
/** 発行日 */
@Column(name = "published", nullable = false, insertable = true, updatable = true)
@Temporal(TemporalType.DATE)
private Date published;
/** カテゴリ */
@Column(name = "category", nullable = true, insertable = true, updatable = true)
private String category;
/**
* {@link #title} の取得
* @return {@link #title}
*/
public String getTitle() {
return this.title;
}
/**
* {@link #title} の設定
* @param aTitle {@link #title}
*/
public void setTitle(final String aTitle) {
this.title = aTitle;
}
/**
* {@link #description} の取得
* @return {@link #description}
*/
public String getDescription() {
return this.description;
}
/**
* {@link #description} の設定
* @param aDescription {@link #description}
*/
public void setDescription(final String aDescription) {
this.description = aDescription;
}
/**
* {@link #published} の取得
* @return {@link #published}
*/
public Date getPublished() {
return this.published;
}
/**
* {@link #published} の設定
* @param aPublished {@link #published}
*/
public void setPublished(final Date aPublished) {
this.published = aPublished;
}
/**
* {@link #category} の取得
* @return {@link #category}
*/
public String getCategory() {
return this.category;
}
/**
* {@link #category} の設定
* @param aCategory {@link #category}
*/
public void setCategory(final String aCategory) {
this.category = aCategory;
}
}