package com.nurkiewicz.jdbcrepository.repositories;
import org.springframework.data.domain.Persistable;
import java.util.Date;
/**
* @author Tomasz Nurkiewicz
* @since 1/16/13, 10:51 PM
*/
public class CommentWithUser extends Comment implements Persistable<Integer> {
private User user;
public CommentWithUser(User user, String contents, Date createdTime, int favouriteCount) {
super(user.getUserName(), contents, createdTime, favouriteCount);
this.user = user;
}
public CommentWithUser(Integer id, User user, String contents, Date createdTime, int favouriteCount) {
super(id, user.getUserName(), contents, createdTime, favouriteCount);
this.user = user;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof CommentWithUser)) return false;
if (!super.equals(o)) return false;
CommentWithUser that = (CommentWithUser) o;
return user.equals(that.user);
}
@Override
public int hashCode() {
int result = super.hashCode();
result = 31 * result + user.hashCode();
return result;
}
@Override
public String toString() {
return "CommentWithUser(id=" + getId() + ", user=" + user + ", contents='" + getContents() + '\'' + ", createdTime=" + getCreatedTime() + ", favouriteCount=" + getFavouriteCount() + ')';
}
}