/*****************************************
* *
* JBoss Portal: The OpenSource Portal *
* *
* Forums JBoss Portlet *
* *
* Distributable under LGPL license. *
* See terms of license at gnu.org. *
* *
*****************************************/
package org.jboss.portlet.forums.impl;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.LinkedList;
import org.jboss.portal.identity.User;
import org.jboss.portlet.forums.model.Message;
import org.jboss.portlet.forums.model.Post;
import org.jboss.portlet.forums.model.Poster;
import org.jboss.portlet.forums.model.Topic;
import org.jboss.portlet.forums.model.Attachment;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
* @author <a href="mailto:boleslaw.dawidowicz@jboss.com">Boleslaw Dawidowicz</a>
* @version $Revision: 2066 $
* @hibernate.class table="jbp_forums_posts"
*/
public class PostImpl
implements Serializable,
Post
{
private Topic topic;
private User user;
private int count;
private Date date;
private Integer id;
private Date createDate;
private Message message;
private Poster poster;
private List attachments;
/**
* Creates a new {@link PostImpl} object.
*/
public PostImpl()
{
attachments = new LinkedList();
}
/**
* @hibernate.many-to-one column="jbp_topic_id"
* class="org.jboss.portlet.forums.impl.TopicImpl"
*/
public Topic getTopic()
{
return topic;
}
/**
* DOCUMENT_ME
*
* @param topic DOCUMENT_ME
*/
public void setTopic(Topic topic)
{
this.topic = topic;
}
/**
* DOCUMENT_ME
*
* @return DOCUMENT_ME
*/
public User getUser()
{
return user;
}
/**
* DOCUMENT_ME
*
* @param user DOCUMENT_ME
*/
public void setUser(User user)
{
this.user = user;
}
/**
* @hibernate.property column="jbp_edit_count"
* unique="false"
* update="true"
*/
public int getEditCount()
{
return count;
}
/**
* DOCUMENT_ME
*
* @param count DOCUMENT_ME
*/
public void setEditCount(int count)
{
this.count = count;
}
/**
* @hibernate.property column="jbp_edit_date"
* unique="false"
* update="true"
*/
public Date getEditDate()
{
return date;
}
/**
* DOCUMENT_ME
*
* @param date DOCUMENT_ME
*/
public void setEditDate(Date date)
{
this.date = date;
}
/**
* @hibernate.id column="jbp_id"
* generator-class="native"
*/
public Integer getId()
{
return id;
}
/**
* DOCUMENT_ME
*
* @param id DOCUMENT_ME
*/
public void setId(Integer id)
{
this.id = id;
}
/**
* @hibernate.property column="jbp_create_date"
* unique="false"
* update="false"
*/
public Date getCreateDate()
{
return createDate;
}
/**
* DOCUMENT_ME
*
* @param createDate DOCUMENT_ME
*/
public void setCreateDate(Date createDate)
{
this.createDate = createDate;
}
/**
* @hibernate.component class="org.jboss.portlet.forums.impl.MessageImpl"
*/
public Message getMessage()
{
return message;
}
/**
* DOCUMENT_ME
*
* @param message DOCUMENT_ME
*/
public void setMessage(Message message)
{
this.message = message;
}
/**
* @hibernate.many-to-one column="jbp_poster_id"
* class="org.jboss.portlet.forums.impl.PosterImpl"
*/
public Poster getPoster()
{
return poster;
}
/**
* DOCUMENT_ME
*
* @param poster DOCUMENT_ME
*/
public void setPoster(Poster poster)
{
this.poster = poster;
}
//TODO:BD - order it by something... is name ok?
/**
* @hibernate.bag lazy="true"
* cascade="all-delete-orphan"
* order-by="jbp_name asc"
* inverse="true"
* table="jbp_forums_attachments"
* @hibernate.collection-key column="jbp_post_id"
* @hibernate.collection-one-to-many class="org.jboss.portlet.forums.impl.AttachmentImpl"
*/
public List getAttachments()
{
return attachments;
}
public void setAttachments(List attachments)
{
this.attachments = attachments;
}
public void addAttachment(Attachment attachment)
{
attachment.setPost(this);
attachments.add(attachment);
}
}
|