package org.ei.drishti.common.domain;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.codehaus.jackson.annotate.JsonProperty;
import org.ei.drishti.common.AllConstants;
import java.io.Serializable;
import static org.ei.drishti.common.AllConstants.ReportDataParameters.ANM_REPORT_DATA_TYPE;
import static org.ei.drishti.common.AllConstants.ReportDataParameters.SERVICE_PROVIDED_DATA_TYPE;
public class ReportDataDeleteRequest implements Serializable {
@JsonProperty
private String type;
@JsonProperty
private String dristhiEntityId;
public ReportDataDeleteRequest() {
}
public ReportDataDeleteRequest(String type) {
this.type = type;
}
private static ReportDataDeleteRequest buildReportDataRequest(String type, String dristhiEntityId) {
return new ReportDataDeleteRequest()
.withType(type)
.withDristhiEntityId(dristhiEntityId);
}
public static ReportDataDeleteRequest serviceProvidedDataDeleteRequest(String dristhiEntityId) {
return buildReportDataRequest(SERVICE_PROVIDED_DATA_TYPE, dristhiEntityId);
}
public static ReportDataDeleteRequest anmReportDataDeleteRequest(String dristhiEntityId) {
return buildReportDataRequest(ANM_REPORT_DATA_TYPE, dristhiEntityId);
}
public String type() {
return this.type;
}
public String dristhiEntityId() {
return this.dristhiEntityId;
}
public ReportDataDeleteRequest withType(String type) {
this.type = type;
return this;
}
public ReportDataDeleteRequest withDristhiEntityId(String dristhiEntityId) {
this.dristhiEntityId = dristhiEntityId;
return this;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
@Override
public boolean equals(Object obj) {
return EqualsBuilder.reflectionEquals(this, obj);
}
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}
}