package com.linkedin.thirdeye.completeness.checker;
import java.util.List;
import java.util.Objects;
import com.google.common.base.MoreObjects;
import com.linkedin.thirdeye.anomaly.task.TaskInfo;
import com.linkedin.thirdeye.completeness.checker.DataCompletenessConstants.DataCompletenessType;
/**
* This class contains the information needed by a task of data completeness type
*/
public class DataCompletenessTaskInfo implements TaskInfo {
private DataCompletenessType dataCompletenessType;
private long dataCompletenessStartTime;
private long dataCompletenessEndTime;
private List<String> datasetsToCheck;
public DataCompletenessTaskInfo() {
}
public DataCompletenessType getDataCompletenessType() {
return dataCompletenessType;
}
public void setDataCompletenessType(DataCompletenessType dataCompletenessType) {
this.dataCompletenessType = dataCompletenessType;
}
public long getDataCompletenessStartTime() {
return dataCompletenessStartTime;
}
public void setDataCompletenessStartTime(long dataCompletenessStartTime) {
this.dataCompletenessStartTime = dataCompletenessStartTime;
}
public long getDataCompletenessEndTime() {
return dataCompletenessEndTime;
}
public void setDataCompletenessEndTime(long dataCompletenessEndTime) {
this.dataCompletenessEndTime = dataCompletenessEndTime;
}
public List<String> getDatasetsToCheck() {
return datasetsToCheck;
}
public void setDatasetsToCheck(List<String> datasetsToCheck) {
this.datasetsToCheck = datasetsToCheck;
}
@Override
public boolean equals(Object o) {
if (!(o instanceof DataCompletenessTaskInfo)) {
return false;
}
DataCompletenessTaskInfo dc = (DataCompletenessTaskInfo) o;
return Objects.equals(dataCompletenessType, dc.getDataCompletenessType())
&& Objects.equals(dataCompletenessStartTime, dc.getDataCompletenessStartTime())
&& Objects.equals(dataCompletenessEndTime, dc.getDataCompletenessEndTime())
&& Objects.equals(datasetsToCheck, dc.getDatasetsToCheck());
}
@Override
public int hashCode() {
return Objects.hash(dataCompletenessType, dataCompletenessStartTime, dataCompletenessEndTime, datasetsToCheck);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this).add("dataCompletenessType", dataCompletenessType)
.add("startTime", dataCompletenessStartTime).add("endTime", dataCompletenessEndTime)
.add("datasetsToCheck", datasetsToCheck).toString();
}
}