package io.apibuilder.internal.v0.models; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import java.io.IOException; import java.lang.Long; import java.lang.Object; import java.lang.Override; import java.lang.String; import java.util.UUID; /** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.12.53 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-internal/0.12.53/android_client * * WARNING: not all features (notably unions) and data types work with android generator yet. * Android generator is designed to be used in an android application, but should work in any java codebase as long as you import jackson and retrofit2 libraries. * If you are considering using this library, would like to request/discuss features, or would like to share how you're using it, please contact android-feedback@gilt.com * */ @JsonIgnoreProperties( ignoreUnknown = true ) public class Task { private final UUID guid; private final TaskData data; private final Long numberAttempts; private final String lastError; @JsonCreator public Task(@JsonProperty("guid") UUID guid, @JsonProperty("data") TaskData data, @JsonProperty("number_attempts") Long numberAttempts, @JsonProperty("last_error") String lastError) { this.guid = guid; this.data = data; this.numberAttempts = numberAttempts; this.lastError = lastError; } public UUID getGuid() { return guid; } public TaskData getData() { return data; } /** * Records the number of times we have attempted to run this task. Commonly we increment number attempts, process the task, and if succeeds we then delete the task. If it fails, we update last_error. This allows us to retry a task say twice; after which we no longer process the task (can notify an admin of the error). */ public Long getNumberAttempts() { return numberAttempts; } public String getLastError() { return lastError; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Task that = (Task) o; if (guid != null ? !guid.equals(that.guid) : that.guid != null) return false; if (data != null ? !data.equals(that.data) : that.data != null) return false; if (numberAttempts != null ? !numberAttempts.equals(that.numberAttempts) : that.numberAttempts != null) return false; if (lastError != null ? !lastError.equals(that.lastError) : that.lastError != null) return false; return true; } @Override public int hashCode() { int result = 0; result = 31 * result + (guid != null ? guid.hashCode() : 0); result = 31 * result + (data != null ? data.hashCode() : 0); result = 31 * result + (numberAttempts != null ? numberAttempts.hashCode() : 0); result = 31 * result + (lastError != null ? lastError.hashCode() : 0); return result; } public String toJsonString() throws JsonProcessingException { return io.apibuilder.internal.v0.android.ApiBuilderObjectMapper.getInstance().writeValueAsString(this); } public static Task parseJson(String json) throws IOException { return io.apibuilder.internal.v0.android.ApiBuilderObjectMapper.getInstance().readValue( json, Task.class); } }