package com.hubspot.baragon.models;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.base.Optional;
public class BaragonRequestBatchItem {
private final String requestId;
private final Optional<RequestAction> requestAction;
private final AgentRequestType requestType;
@JsonCreator
public BaragonRequestBatchItem(@JsonProperty("requestId") String requestId,
@JsonProperty("requestAction") Optional<RequestAction> requestAction,
@JsonProperty("requestType") AgentRequestType requestType) {
this.requestId = requestId;
this.requestAction = requestAction;
this.requestType = requestType;
}
public String getRequestId() {
return requestId;
}
public Optional<RequestAction> getRequestAction() {
return requestAction;
}
public AgentRequestType getRequestType() {
return requestType;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
BaragonRequestBatchItem that = (BaragonRequestBatchItem) o;
return Objects.equal(requestId, that.requestId) &&
Objects.equal(requestAction, that.requestAction) &&
requestType == that.requestType;
}
@Override
public int hashCode() {
return Objects.hashCode(requestId, requestAction, requestType);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("requestId", requestId)
.add("requestAction", requestAction)
.add("requestType", requestType)
.toString();
}
}