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.Map; /** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.12.8 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-spec/0.12.8/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 * * Represents an additional attribute that is attached to one of the objects in apibuilder. The main use case is to capture additional metadata that doesn't necessarily define the API but aids in code generation. Examples would be hints for certain code generators about classes to extend, interfaces to implement, annotations to add, names to assign to certain methods, etc. The specific attributes will be applicable only in the context of the specific code generators usings them. */ @JsonIgnoreProperties( ignoreUnknown = true ) public class Attribute { private final String name; private final Map value; private final String description; private final Deprecation deprecation; @JsonCreator public Attribute(@JsonProperty("name") String name, @JsonProperty("value") Map value, @JsonProperty("description") String description, @JsonProperty("deprecation") Deprecation deprecation) { this.name = name; this.value = value; this.description = description; this.deprecation = deprecation; } public String getName() { return name; } public Map getValue() { return value; } public String getDescription() { return description; } public Deprecation getDeprecation() { return deprecation; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Attribute that = (Attribute) o; if (name != null ? !name.equals(that.name) : that.name != null) return false; if (value != null ? !value.equals(that.value) : that.value != 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; return true; } @Override public int hashCode() { int result = 0; result = 31 * result + (name != null ? name.hashCode() : 0); result = 31 * result + (value != null ? value.hashCode() : 0); result = 31 * result + (description != null ? description.hashCode() : 0); result = 31 * result + (deprecation != null ? deprecation.hashCode() : 0); return result; } public String toJsonString() throws JsonProcessingException { return io.apibuilder.spec.v0.android.ApiBuilderObjectMapper.getInstance().writeValueAsString(this); } public static Attribute parseJson(String json) throws IOException { return io.apibuilder.spec.v0.android.ApiBuilderObjectMapper.getInstance().readValue( json, Attribute.class); } }