package io.apibuilder.api.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.UUID; /** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.16.74 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-api/0.16.74/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 a user that is currently subscribed to a publication */ @JsonIgnoreProperties( ignoreUnknown = true ) public class Subscription { private final UUID guid; private final Organization organization; private final User user; private final Publication publication; private final io.apibuilder.common.v0.models.Audit audit; @JsonCreator public Subscription(@JsonProperty("guid") UUID guid, @JsonProperty("organization") Organization organization, @JsonProperty("user") User user, @JsonProperty("publication") Publication publication, @JsonProperty("audit") io.apibuilder.common.v0.models.Audit audit) { this.guid = guid; this.organization = organization; this.user = user; this.publication = publication; this.audit = audit; } /** * Internal unique identifier for this subscription record */ public UUID getGuid() { return guid; } public Organization getOrganization() { return organization; } public User getUser() { return user; } public Publication getPublication() { return publication; } public io.apibuilder.common.v0.models.Audit getAudit() { return audit; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Subscription that = (Subscription) o; if (guid != null ? !guid.equals(that.guid) : that.guid != null) return false; if (organization != null ? !organization.equals(that.organization) : that.organization != null) return false; if (user != null ? !user.equals(that.user) : that.user != null) return false; if (publication != null ? !publication.equals(that.publication) : that.publication != null) return false; if (audit != null ? !audit.equals(that.audit) : that.audit != null) return false; return true; } @Override public int hashCode() { int result = 0; result = 31 * result + (guid != null ? guid.hashCode() : 0); result = 31 * result + (organization != null ? organization.hashCode() : 0); result = 31 * result + (user != null ? user.hashCode() : 0); result = 31 * result + (publication != null ? publication.hashCode() : 0); result = 31 * result + (audit != null ? audit.hashCode() : 0); return result; } public String toJsonString() throws JsonProcessingException { return io.apibuilder.api.v0.android.ApiBuilderObjectMapper.getInstance().writeValueAsString(this); } public static Subscription parseJson(String json) throws IOException { return io.apibuilder.api.v0.android.ApiBuilderObjectMapper.getInstance().readValue( json, Subscription.class); } }