package pl.edu.icm.saos.api.services.representations.success;
import com.google.common.base.Objects;
import java.util.List;
/**
* Represents collections view.
* @author pavtel
*/
public class CollectionRepresentation<ITEM, QUERY_TEMPLATE, INFO> extends SuccessRepresentation {
private static final long serialVersionUID = -7666954281326403905L;
private List<ITEM> items;
private QUERY_TEMPLATE queryTemplate;
private INFO info;
//------------------------ GETTERS --------------------------
public List<ITEM> getItems() {
return items;
}
public QUERY_TEMPLATE getQueryTemplate() {
return queryTemplate;
}
public INFO getInfo() {
return info;
}
//------------------------ SETTERS --------------------------
public void setItems(List<ITEM> items) {
this.items = items;
}
public void setQueryTemplate(QUERY_TEMPLATE queryTemplate) {
this.queryTemplate = queryTemplate;
}
public void setInfo(INFO info) {
this.info = info;
}
//------------------------ HashCode & Equals --------------------------
@Override
public int hashCode() {
return 31 * super.hashCode() + Objects.hashCode(items, queryTemplate, info);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
if (!super.equals(obj)) {
return false;
}
final CollectionRepresentation other = (CollectionRepresentation) obj;
return Objects.equal(this.items, other.items) && Objects.equal(this.queryTemplate, other.queryTemplate) && Objects.equal(this.info, other.info);
}
//------------------------ toString --------------------------
@Override
public String toString() {
return Objects.toStringHelper(this)
.addValue(super.toString())
.add("items", items)
.add("queryTemplate", queryTemplate)
.add("info", info)
.toString();
}
}