package com.teambytes.hipchat.sns.bridge.v1.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; /** * Generated by API Builder - https://www.apibuilder.io * Service version: 1.0.0 * User agent: apibuilder app.apibuilder.io/teambytes/hipchat-sns-bridge/1.0.0/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 HipchatCapabilities { private final HipchatConfigurationPage configurable; private final HipchatApiConsumer hipchatApiConsumer; private final HipchatInstallable installable; private final HipchatOauth2Provider oauth2Provider; @JsonCreator public HipchatCapabilities(@JsonProperty("configurable") HipchatConfigurationPage configurable, @JsonProperty("hipchatApiConsumer") HipchatApiConsumer hipchatApiConsumer, @JsonProperty("installable") HipchatInstallable installable, @JsonProperty("oauth2Provider") HipchatOauth2Provider oauth2Provider) { this.configurable = configurable; this.hipchatApiConsumer = hipchatApiConsumer; this.installable = installable; this.oauth2Provider = oauth2Provider; } /** * Most integrations will need to be configured in order to work correctly. For this purpose, an integration can expose a 'configurable' capability that provides an HTML page to be included as a panel in the configuration dialog. */ public HipchatConfigurationPage getConfigurable() { return configurable; } /** * The ability to consume the HipChat API. */ public HipchatApiConsumer getHipchatApiConsumer() { return hipchatApiConsumer; } /** * The capability of receiving a synchronous installation callback during integration installation. */ public HipchatInstallable getInstallable() { return installable; } /** * The capability of providing and accepting OAuth 2 tokens for authentication. */ public HipchatOauth2Provider getOauth2Provider() { return oauth2Provider; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; HipchatCapabilities that = (HipchatCapabilities) o; if (configurable != null ? !configurable.equals(that.configurable) : that.configurable != null) return false; if (hipchatApiConsumer != null ? !hipchatApiConsumer.equals(that.hipchatApiConsumer) : that.hipchatApiConsumer != null) return false; if (installable != null ? !installable.equals(that.installable) : that.installable != null) return false; if (oauth2Provider != null ? !oauth2Provider.equals(that.oauth2Provider) : that.oauth2Provider != null) return false; return true; } @Override public int hashCode() { int result = 0; result = 31 * result + (configurable != null ? configurable.hashCode() : 0); result = 31 * result + (hipchatApiConsumer != null ? hipchatApiConsumer.hashCode() : 0); result = 31 * result + (installable != null ? installable.hashCode() : 0); result = 31 * result + (oauth2Provider != null ? oauth2Provider.hashCode() : 0); return result; } public String toJsonString() throws JsonProcessingException { return com.teambytes.hipchat.sns.bridge.v1.android.ApiBuilderObjectMapper.getInstance().writeValueAsString(this); } public static HipchatCapabilities parseJson(String json) throws IOException { return com.teambytes.hipchat.sns.bridge.v1.android.ApiBuilderObjectMapper.getInstance().readValue( json, HipchatCapabilities.class); } }