package tv.dyndns.kishibe.qmaclone.client.packet; import com.google.common.base.Objects; import com.google.common.base.Preconditions; import com.google.gwt.user.client.rpc.IsSerializable; public class PacketThemeModeEditLog implements IsSerializable { public enum Type implements IsSerializable { Add("追加"), Remove("削除"); private final String value; private Type(String value) { this.value = Preconditions.checkNotNull(value); } @Override public String toString() { return value; } } private int userCode; private String userName; private long timeMs; private Type type; private String theme; private String query; public int getUserCode() { return userCode; } public void setUserCode(int userCode) { this.userCode = userCode; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public long getTimeMs() { return timeMs; } public void setTimeMs(long timeMs) { this.timeMs = timeMs; } public String getType() { return type.name(); } public void setType(String type) { this.type = Type.valueOf(type); } public String getTheme() { return theme; } public void setTheme(String theme) { this.theme = theme; } public String getQuery() { return query; } public void setQuery(String query) { this.query = query; } @Override public boolean equals(Object obj) { if (!(obj instanceof PacketThemeModeEditLog)) { return false; } PacketThemeModeEditLog rh = (PacketThemeModeEditLog) obj; return userCode == rh.userCode && timeMs == rh.timeMs && type == rh.type && Objects.equal(theme, rh.theme) && Objects.equal(query, rh.query); } @Override public int hashCode() { return Objects.hashCode(userCode, userName, timeMs, type, theme, query); } }