package com.vaguehope.onosendai.update; import com.vaguehope.onosendai.config.Account; import com.vaguehope.onosendai.config.Column; import com.vaguehope.onosendai.config.ColumnFeed; import com.vaguehope.onosendai.util.EqualHelper; import com.vaguehope.onosendai.util.Titleable; class FetchFeedRequest implements Titleable { public final Column column; public final ColumnFeed feed; public final Account account; public FetchFeedRequest (final Column column, final ColumnFeed feed, final Account account) { this.column = column; this.feed = feed; this.account = account; } @Override public int hashCode () { final int prime = 31; int result = 1; result = prime * result + ((this.column == null) ? 0 : this.column.hashCode()); result = prime * result + ((this.feed == null) ? 0 : this.feed.hashCode()); result = prime * result + ((this.account == null) ? 0 : this.account.hashCode()); return result; } @Override public boolean equals (final Object o) { if (o == null) return false; if (o == this) return true; if (!(o instanceof FetchFeedRequest)) return false; final FetchFeedRequest that = (FetchFeedRequest) o; return EqualHelper.equal(this.column, that.column) && EqualHelper.equal(this.feed, that.feed) && EqualHelper.equal(this.account, that.account); } @Override public String toString () { return new StringBuilder("FetchFeedRequest{").append(this.column != null ? this.column.getId() : "-") .append(",").append(this.feed) .append(",").append(this.account != null ? this.account.getId() : "-") .append("}").toString(); } @Override public String getUiTitle () { return String.format("%s:%s", this.column != null ? this.column.getTitle() : "-", this.feed); } }