/*******************************************************************************
* Copyright (c) 2011 GitHub Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Kevin Sawicki (GitHub Inc.) - initial API and implementation
*******************************************************************************/
package org.eclipse.egit.github.core;
import java.io.Serializable;
import java.util.Date;
import org.eclipse.egit.github.core.util.ObjectUtils;
/**
* GitHub {@link Issue} and {@link Gist} comment class.
*/
public class Comment implements Serializable {
/** serialVersionUID */
private static final long serialVersionUID = 5128896032791651031L;
private Date createdAt;
private Date updatedAt;
private String body;
private String bodyHtml;
private String bodyText;
private long id;
private String url;
private String htmlUrl;
private User user;
private Reactions reactions;
/**
* @return createdAt
*/
public Date getCreatedAt() {
return ObjectUtils.cloneDate(createdAt);
}
/**
* @param createdAt
* @return this comment
*/
public Comment setCreatedAt(Date createdAt) {
this.createdAt = ObjectUtils.cloneDate(createdAt);
return this;
}
/**
* @return updatedAt
*/
public Date getUpdatedAt() {
return ObjectUtils.cloneDate(updatedAt);
}
/**
* @param updatedAt
* @return this comment
*/
public Comment setUpdatedAt(Date updatedAt) {
this.updatedAt = ObjectUtils.cloneDate(updatedAt);
return this;
}
/**
* @return body
*/
public String getBody() {
return body;
}
/**
* @param body
* @return this comment
*/
public Comment setBody(String body) {
this.body = body;
return this;
}
/**
* @return bodyHtml
*/
public String getBodyHtml() {
return bodyHtml;
}
/**
* @param bodyHtml
* @return this comment
*/
public Comment setBodyHtml(String bodyHtml) {
this.bodyHtml = bodyHtml;
return this;
}
/**
* @return bodyText
*/
public String getBodyText() {
return bodyText;
}
/**
* @param bodyText
* @return this comment
*/
public Comment setBodyText(String bodyText) {
this.bodyText = bodyText;
return this;
}
/**
* @return id
*/
public long getId() {
return id;
}
/**
* @param id
* @return this comment
*/
public Comment setId(long id) {
this.id = id;
return this;
}
/**
* @return url
*/
public String getUrl() {
return url;
}
/**
* @param url
* @return this comment
*/
public Comment setUrl(String url) {
this.url = url;
return this;
}
/**
* @return htmlUrl
*/
public String getHtmlUrl() {
return htmlUrl;
}
/**
* @param htmlUrl
* @return this comment
*/
public Comment setHtmlUrl(String htmlUrl) {
this.htmlUrl = htmlUrl;
return this;
}
/**
* @return user
*/
public User getUser() {
return user;
}
/**
* @param user
* @return this comment
*/
public Comment setUser(User user) {
this.user = user;
return this;
}
public Reactions getReactions() {
return reactions;
}
public Comment setReactions(Reactions reactions) {
this.reactions = reactions;
return this;
}
@Override
public boolean equals(Object other) {
if (other instanceof Comment) {
return this.id == ((Comment) other).id;
}
return false;
}
@Override
public int hashCode() {
return ObjectUtils.hashCodeForLong(this.id);
}
}