| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. The ASF licenses this file to You |
| * 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. For additional information regarding |
| * copyright in this work, please see the NOTICE file in the top level |
| * directory of this distribution. |
| */ |
| |
| package org.apache.roller.weblogger.pojos; |
| |
| import java.io.Serializable; |
| import java.sql.Timestamp; |
| import org.apache.commons.lang3.builder.EqualsBuilder; |
| import org.apache.commons.lang3.builder.HashCodeBuilder; |
| import org.apache.roller.util.UUIDGenerator; |
| |
| |
| /** |
| * WeblogEntry comment bean. |
| */ |
| public class WeblogEntryComment implements Serializable { |
| |
| public static final long serialVersionUID = -6668122596726478462L; |
| |
| // approval status states |
| public enum ApprovalStatus {APPROVED, DISAPPROVED, SPAM, PENDING} |
| |
| // attributes |
| private String id = UUIDGenerator.generateUUID(); |
| private String name = null; |
| private String email = null; |
| private String url = null; |
| private String content = null; |
| private Timestamp postTime = null; |
| private ApprovalStatus status = ApprovalStatus.APPROVED; |
| private Boolean notify = Boolean.FALSE; |
| private String remoteHost = null; |
| private String referrer = null; |
| private String userAgent = null; |
| private String plugins = null; |
| private String contentType = "text/plain"; |
| |
| // associations |
| private WeblogEntry weblogEntry = null; |
| |
| |
| public WeblogEntryComment() {} |
| |
| |
| /** |
| * Database ID of comment |
| */ |
| public String getId() { |
| return this.id; |
| } |
| |
| /** |
| * Database ID of comment |
| */ |
| public void setId(String id) { |
| this.id = id; |
| } |
| |
| |
| /** |
| * Weblog entry associated with comment. |
| */ |
| public WeblogEntry getWeblogEntry() { |
| return weblogEntry; |
| } |
| |
| /** |
| * Weblog entry assocaited with comment |
| */ |
| public void setWeblogEntry(WeblogEntry entry) { |
| weblogEntry = entry; |
| } |
| |
| |
| /** |
| * Name of person who wrote comment. |
| */ |
| public String getName() { |
| return this.name; |
| } |
| |
| /** |
| * Name of person who wrote comment. |
| */ |
| public void setName(String name) { |
| this.name = name; |
| } |
| |
| |
| /** |
| * Email of person who wrote comment. |
| */ |
| public String getEmail() { |
| return this.email; |
| } |
| |
| /** |
| * Email of person who wrote comment. |
| */ |
| public void setEmail(String email) { |
| this.email = email; |
| } |
| |
| |
| /** |
| * URL of person who wrote comment. |
| */ |
| public String getUrl() { |
| return this.url; |
| } |
| |
| /** |
| * URL of person who wrote comment. |
| */ |
| public void setUrl(String url) { |
| this.url = url; |
| } |
| |
| |
| /** |
| * Content of comment. |
| */ |
| public String getContent() { |
| return this.content; |
| } |
| |
| /** |
| * Content of comment. |
| */ |
| public void setContent(String content) { |
| this.content = content; |
| } |
| |
| |
| /** |
| * Time that comment was posted. |
| */ |
| public Timestamp getPostTime() { |
| return this.postTime; |
| } |
| |
| /** |
| * Time that comment was posted. |
| */ |
| public void setPostTime(Timestamp postTime) { |
| this.postTime = postTime; |
| } |
| |
| |
| /** |
| * Status of the comment, i.e. APPROVED, SPAM, PENDING, etc. |
| */ |
| public ApprovalStatus getStatus() { |
| return status; |
| } |
| |
| /** |
| * Status of the comment, i.e. APPROVED, SPAM, PENDING, etc. |
| */ |
| public void setStatus(ApprovalStatus status) { |
| this.status = status; |
| } |
| |
| |
| /** |
| * True if person who wrote comment wishes to be notified of new comments |
| * on the same weblog entry. |
| */ |
| public Boolean getNotify() { |
| return this.notify; |
| } |
| |
| /** |
| * True if person who wrote comment wishes to be notified of new comments |
| * on the same weblog entry. |
| */ |
| public void setNotify(Boolean notify) { |
| this.notify = notify; |
| } |
| |
| |
| /** |
| * Host name or IP of person who wrote comment. |
| */ |
| public String getRemoteHost() { |
| return this.remoteHost; |
| } |
| |
| /** |
| * Host name or IP of person who wrote comment. |
| */ |
| public void setRemoteHost(String remoteHost) { |
| this.remoteHost = remoteHost; |
| } |
| |
| |
| /** |
| * HTTP referrer from comment post request |
| */ |
| public String getReferrer() { |
| return referrer; |
| } |
| |
| /** |
| * HTTP referrer from comment post request |
| */ |
| public void setReferrer(String referrer) { |
| this.referrer = referrer; |
| } |
| |
| |
| /** |
| * HTTP user-agent from comment post request |
| */ |
| public String getUserAgent() { |
| return userAgent; |
| } |
| |
| /** |
| * HTTP user-agent from comment post request |
| */ |
| public void setUserAgent(String userAgent) { |
| this.userAgent = userAgent; |
| } |
| |
| |
| /** |
| * Comma separated list of comment plugins to apply. |
| */ |
| public String getPlugins() { |
| return plugins; |
| } |
| |
| /** |
| * Comma separated list of comment plugins to apply. |
| */ |
| public void setPlugins(String plugins) { |
| this.plugins = plugins; |
| } |
| |
| |
| /** |
| * The content-type of the comment. |
| */ |
| public String getContentType() { |
| return contentType; |
| } |
| |
| /** |
| * The content-type of the comment. |
| */ |
| public void setContentType(String contentType) { |
| this.contentType = contentType; |
| } |
| |
| |
| /** |
| * Indicates that weblog owner considers this comment to be spam. |
| */ |
| public Boolean getSpam() { |
| return ApprovalStatus.SPAM.equals(getStatus()); |
| } |
| |
| |
| /** |
| * True if comment has is pending moderator approval. |
| */ |
| public Boolean getPending() { |
| return ApprovalStatus.PENDING.equals(getStatus()); |
| } |
| |
| |
| /** |
| * Indicates that comment has been approved for display on weblog. |
| */ |
| public Boolean getApproved() { |
| return ApprovalStatus.APPROVED.equals(getStatus()); |
| } |
| |
| public String getEmptyString() { |
| return ""; |
| } |
| |
| |
| /** |
| * Timestamp to be used to formulate comment permlink. |
| */ |
| public String getTimestamp() { |
| if (getPostTime() != null) { |
| return Long.toString(getPostTime().getTime()); |
| } |
| return null; |
| } |
| |
| //------------------------------------------------------- Good citizenship |
| |
| public String toString() { |
| StringBuilder buf = new StringBuilder(); |
| buf.append("{"); |
| buf.append(getId()); |
| buf.append(", ").append(getName()); |
| buf.append(", ").append(getEmail()); |
| buf.append(", ").append(getPostTime()); |
| buf.append("}"); |
| return buf.toString(); |
| } |
| |
| public boolean equals(Object other) { |
| if (other == this) { |
| return true; |
| } |
| if (!(other instanceof WeblogEntryComment)) { |
| return false; |
| } |
| WeblogEntryComment o = (WeblogEntryComment)other; |
| return new EqualsBuilder() |
| .append(getName(), o.getName()) |
| .append(getPostTime(), o.getPostTime()) |
| .append(getWeblogEntry(), o.getWeblogEntry()) |
| .isEquals(); |
| } |
| |
| public int hashCode() { |
| return new HashCodeBuilder() |
| .append(getName()) |
| .append(getPostTime()) |
| .append(getWeblogEntry()) |
| .toHashCode(); |
| } |
| |
| } |