Package in.partake.model.dto

Source Code of in.partake.model.dto.EventComment

package in.partake.model.dto;

import in.partake.base.DateTime;

import org.apache.commons.lang.ObjectUtils;
import org.codehaus.jackson.node.JsonNodeFactory;
import org.codehaus.jackson.node.ObjectNode;

public class EventComment extends PartakeModel<EventComment> {
    private String id;          // comment id
    private String eventId;     // the event id this comment is associated to
    private String userId;      // who wrote this comment
    private String comment;     // content
    private boolean isHTML;     // true if HTML.
    private DateTime createdAt;

    public EventComment(String id, String eventId, String userId, String comment, boolean isHTML, DateTime createdAt) {
        this.id = id;
        this.eventId = eventId;
        this.userId = userId;
        this.comment = comment;
        this.isHTML = isHTML;
        this.createdAt = createdAt;
    }

    public EventComment(EventComment comment) {
        this.id = comment.id;
        this.eventId = comment.eventId;
        this.userId = comment.userId;
        this.comment = comment.comment;
        this.isHTML = comment.isHTML;
        this.createdAt = comment.createdAt;
    }

    public EventComment(ObjectNode obj) {
        this.id = obj.get("id").asText();
        this.eventId = obj.get("eventId").asText();
        this.userId = obj.get("userId").asText();
        this.comment = obj.get("comment").asText();
        this.isHTML = obj.get("isHTML").asBoolean();
        if (obj.has("createdAt"))
            this.createdAt = new DateTime(obj.get("createdAt").asLong());
    }

    @Override
    public Object getPrimaryKey() {
        return id;
    }

    @Override
    public ObjectNode toJSON() {
        ObjectNode json = new ObjectNode(JsonNodeFactory.instance);

        json.put("id", id);
        json.put("eventId", eventId);
        json.put("userId", userId);
        json.put("comment", comment);
        json.put("isHTML", isHTML);
        if (createdAt != null)
            json.put("createdAt", createdAt.getTime());

        return json;
    }

    // ----------------------------------------------------------------------
    // equals method

    @Override
    public boolean equals(Object obj) {
        if (!(obj instanceof EventComment)) { return false; }

        EventComment lhs = this;
        EventComment rhs = (EventComment) obj;

        if (!ObjectUtils.equals(lhs.id, rhs.id)) { return false; }
        if (!ObjectUtils.equals(lhs.eventId, rhs.eventId)) { return false; }
        if (!ObjectUtils.equals(lhs.userId, rhs.userId)) { return false; }
        if (!ObjectUtils.equals(lhs.comment, rhs.comment)) { return false; }
        if (!ObjectUtils.equals(lhs.isHTML, rhs.isHTML)) { return false; }
        if (!ObjectUtils.equals(lhs.createdAt, rhs.createdAt)) { return false; }

        return true;
    }

    @Override
    public int hashCode() {
        int code = 0;

        code = code * 37 + ObjectUtils.hashCode(id);
        code = code * 37 + ObjectUtils.hashCode(eventId);
        code = code * 37 + ObjectUtils.hashCode(userId);
        code = code * 37 + ObjectUtils.hashCode(comment);
        code = code * 37 + ObjectUtils.hashCode(isHTML);
        code = code * 37 + ObjectUtils.hashCode(createdAt);

        return code;
    }


    // ----------------------------------------------------------------------
    // accessors

    public String getId() {
        return id;
    }

    public String getEventId() {
        return eventId;
    }

    public String getUserId() {
        return userId;
    }

    public String getComment() {
        return comment;
    }

    public boolean isHTML() {
        return isHTML;
    }

    public DateTime getCreatedAt() {
        return createdAt;
    }

    public void setId(String id) {
        checkFrozen();
        this.id = id;
    }

    public void setEventId(String eventId) {
        checkFrozen();
        this.eventId = eventId;
    }

    public void setUserId(String userId) {
        checkFrozen();
        this.userId = userId;
    }

    public void setComment(String comment) {
        checkFrozen();
        this.comment = comment;
    }

    public void setHTML(boolean isHTML) {
        checkFrozen();
        this.isHTML = isHTML;
    }

    public void setCreatedAt(DateTime createdAt) {
        checkFrozen();
        this.createdAt = createdAt;
    }
}
TOP

Related Classes of in.partake.model.dto.EventComment

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.