package org.multibit.mbm.core.social.twitter; import org.joda.time.DateTime; /** * <p>Value object to provide the following to Twitter handlers:<br> * <ul> * <li>Storage of state</li> * </ul> * </p> */ public class TwitterMessage { private String topic = "TwitterMessage"; private Long id; private DateTime createdAt; private String text; private String fromUser; private String profileImageUrl; /** * Default constructor. */ public TwitterMessage() { } /** * Constructor to initialize all fields available. */ public TwitterMessage(Long id, DateTime createdAt, String text, String fromUser, String profileImageUrl) { super(); this.id = id; this.createdAt = createdAt; this.text = text; this.fromUser = fromUser; this.profileImageUrl = profileImageUrl; } public DateTime getCreatedAt() { return createdAt; } public void setCreatedAt(DateTime createdAt) { this.createdAt = createdAt; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getFromUser() { return fromUser; } public void setFromUser(String fromUser) { this.fromUser = fromUser; } public String getProfileImageUrl() { return profileImageUrl; } public void setProfileImageUrl(String profileImageUrl) { this.profileImageUrl = profileImageUrl; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTopic() { return topic; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((createdAt == null) ? 0 : createdAt.hashCode()); result = prime * result + ((fromUser == null) ? 0 : fromUser.hashCode()); result = prime * result + ((profileImageUrl == null) ? 0 : profileImageUrl.hashCode()); result = prime * result + ((text == null) ? 0 : text.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; TwitterMessage other = (TwitterMessage) obj; if (createdAt == null) { if (other.createdAt != null) return false; } else if (!createdAt.equals(other.createdAt)) return false; if (fromUser == null) { if (other.fromUser != null) return false; } else if (!fromUser.equals(other.fromUser)) return false; if (profileImageUrl == null) { if (other.profileImageUrl != null) return false; } else if (!profileImageUrl.equals(other.profileImageUrl)) return false; if (text == null) { if (other.text != null) return false; } else if (!text.equals(other.text)) return false; return true; } @Override public String toString() { return "Tweet [createdAt=" + createdAt + ", text=" + text + ", fromUser=" + fromUser + ", profileImageUrl=" + profileImageUrl + "]"; } }