com.dell.cpsd.hal.data.provider.api.DataProviderWorkTimeout Maven / Gradle / Ivy
package com.dell.cpsd.hal.data.provider.api;
import java.util.Date;
import com.dell.cpsd.common.rabbitmq.annotation.Message;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
/**
* DataProviderWorkTimeout
*
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@Message(value = "com.dell.cpsd.hal.data.provider.work.timeout", version = "1.0")
@JsonPropertyOrder({
"timestamp",
"requestId",
"trackingId",
"timeoutReason"
})
public class DataProviderWorkTimeout {
@JsonProperty("timestamp")
private Date timestamp;
@JsonProperty("requestId")
private String requestId;
@JsonProperty("trackingId")
private String trackingId;
/**
*
*/
@JsonProperty("timeoutReason")
private TimeoutReason timeoutReason;
/**
* No args constructor for use in serialization
*
*/
public DataProviderWorkTimeout() {
}
/**
*
* @param requestId
* @param timeoutReason
* @param timestamp
* @param trackingId
*/
public DataProviderWorkTimeout(Date timestamp, String requestId, String trackingId, TimeoutReason timeoutReason) {
super();
this.timestamp = timestamp;
this.requestId = requestId;
this.trackingId = trackingId;
this.timeoutReason = timeoutReason;
}
/**
*
* @return
* The timestamp
*/
@JsonProperty("timestamp")
public Date getTimestamp() {
return timestamp;
}
/**
*
* @param timestamp
* The timestamp
*/
@JsonProperty("timestamp")
public void setTimestamp(Date timestamp) {
this.timestamp = timestamp;
}
/**
*
* @return
* The requestId
*/
@JsonProperty("requestId")
public String getRequestId() {
return requestId;
}
/**
*
* @param requestId
* The requestId
*/
@JsonProperty("requestId")
public void setRequestId(String requestId) {
this.requestId = requestId;
}
/**
*
* @return
* The trackingId
*/
@JsonProperty("trackingId")
public String getTrackingId() {
return trackingId;
}
/**
*
* @param trackingId
* The trackingId
*/
@JsonProperty("trackingId")
public void setTrackingId(String trackingId) {
this.trackingId = trackingId;
}
/**
*
* @return
* The timeoutReason
*/
@JsonProperty("timeoutReason")
public TimeoutReason getTimeoutReason() {
return timeoutReason;
}
/**
*
* @param timeoutReason
* The timeoutReason
*/
@JsonProperty("timeoutReason")
public void setTimeoutReason(TimeoutReason timeoutReason) {
this.timeoutReason = timeoutReason;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(timestamp).append(requestId).append(trackingId).append(timeoutReason).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof DataProviderWorkTimeout) == false) {
return false;
}
DataProviderWorkTimeout rhs = ((DataProviderWorkTimeout) other);
return new EqualsBuilder().append(timestamp, rhs.timestamp).append(requestId, rhs.requestId).append(trackingId, rhs.trackingId).append(timeoutReason, rhs.timeoutReason).isEquals();
}
}