package io.apibuilder.spec.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.Object; import java.lang.Override; import java.lang.String; import java.util.Arrays; /** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.12.14 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-spec/0.12.14/android_rx2_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, retrofit2 and RxJava2 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 Resource { private final String type; private final String plural; private final String path; private final String description; private final Deprecation deprecation; private final Operation[] operations; private final Attribute[] attributes; @JsonCreator public Resource(@JsonProperty("type") String type, @JsonProperty("plural") String plural, @JsonProperty("path") String path, @JsonProperty("description") String description, @JsonProperty("deprecation") Deprecation deprecation, @JsonProperty("operations") Operation[] operations, @JsonProperty("attributes") Attribute[] attributes) { this.type = type; this.plural = plural; this.path = path; this.description = description; this.deprecation = deprecation; this.operations = operations; this.attributes = attributes; } /** * The type of this resource will map to a defined model, enum, or union type */ public String getType() { return type; } public String getPlural() { return plural; } /** * The path to this specific resource. This was added in 2016 to help us differentiate between the resource path and the operation path which can be helpful when, for example, generating method names for operations. This field is optional as some of our input formats (e.g. swagger) do not explicitly differentiate resoure paths. */ public String getPath() { return path; } public String getDescription() { return description; } public Deprecation getDeprecation() { return deprecation; } public Operation[] getOperations() { return operations; } public Attribute[] getAttributes() { return attributes; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Resource that = (Resource) o; if (type != null ? !type.equals(that.type) : that.type != null) return false; if (plural != null ? !plural.equals(that.plural) : that.plural != null) return false; if (path != null ? !path.equals(that.path) : that.path != null) return false; if (description != null ? !description.equals(that.description) : that.description != null) return false; if (deprecation != null ? !deprecation.equals(that.deprecation) : that.deprecation != null) return false; if (!Arrays.equals(operations, that.operations)) return false; if (!Arrays.equals(attributes, that.attributes)) return false; return true; } @Override public int hashCode() { int result = 0; result = 31 * result + (type != null ? type.hashCode() : 0); result = 31 * result + (plural != null ? plural.hashCode() : 0); result = 31 * result + (path != null ? path.hashCode() : 0); result = 31 * result + (description != null ? description.hashCode() : 0); result = 31 * result + (deprecation != null ? deprecation.hashCode() : 0); result = 31 * result + (operations != null ? operations.hashCode() : 0); result = 31 * result + (attributes != null ? attributes.hashCode() : 0); return result; } public String toJsonString() throws JsonProcessingException { return io.apibuilder.spec.v0.android.ApiBuilderObjectMapper.getInstance().writeValueAsString(this); } public static Resource parseJson(String json) throws IOException { return io.apibuilder.spec.v0.android.ApiBuilderObjectMapper.getInstance().readValue( json, Resource.class); } }