All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.sns.model.SubscribeRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon SNS module holds the client classes that are used for communicating with Amazon Simple Notification Service

There is a newer version: 1.9.34
Show newest version
/*
 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights
 * Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 *
 *  http://aws.amazon.com/apache2.0
 *
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */

package com.amazonaws.services.sns.model;

import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;

/**
 * Input for Subscribe action.
 */
public class SubscribeRequest extends AmazonWebServiceRequest implements
        Serializable, Cloneable {

    /**
     * 

* The ARN of the topic you want to subscribe to. *

*/ private String topicArn; /** *

* The protocol you want to use. Supported protocols include: *

*
    *
  • http -- delivery of JSON-encoded message via HTTP POST
  • *
  • https -- delivery of JSON-encoded message via HTTPS POST *
  • *
  • email -- delivery of message via SMTP
  • *
  • email-json -- delivery of JSON-encoded message via SMTP
  • *
  • sms -- delivery of message via SMS
  • *
  • sqs -- delivery of JSON-encoded message to an Amazon SQS * queue
  • *
  • application -- delivery of JSON-encoded message to an * EndpointArn for a mobile app and device.
  • *
*/ private String protocol; /** *

* The endpoint that you want to receive notifications. Endpoints vary by * protocol: *

*
    *
  • For the http protocol, the endpoint is an URL beginning * with "http://"
  • *
  • For the https protocol, the endpoint is a URL beginning * with "https://"
  • *
  • For the email protocol, the endpoint is an email address *
  • *
  • For the email-json protocol, the endpoint is an email * address
  • *
  • For the sms protocol, the endpoint is a phone number of * an SMS-enabled device
  • *
  • For the sqs protocol, the endpoint is the ARN of an * Amazon SQS queue
  • *
  • For the application protocol, the endpoint is the * EndpointArn of a mobile app and device.
  • *
*/ private String endpoint; /** * Default constructor for SubscribeRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize the object after * creating it. */ public SubscribeRequest() { } /** * Constructs a new SubscribeRequest object. Callers should use the setter * or fluent setter (with...) methods to initialize any additional object * members. * * @param topicArn * The ARN of the topic you want to subscribe to. * @param protocol * The protocol you want to use. Supported protocols include:

*
    *
  • http -- delivery of JSON-encoded message via HTTP * POST
  • *
  • https -- delivery of JSON-encoded message via * HTTPS POST
  • *
  • email -- delivery of message via SMTP
  • *
  • email-json -- delivery of JSON-encoded message * via SMTP
  • *
  • sms -- delivery of message via SMS
  • *
  • sqs -- delivery of JSON-encoded message to an * Amazon SQS queue
  • *
  • application -- delivery of JSON-encoded message * to an EndpointArn for a mobile app and device.
  • * @param endpoint * The endpoint that you want to receive notifications. Endpoints * vary by protocol:

    *
      *
    • For the http protocol, the endpoint is an URL * beginning with "http://"
    • *
    • For the https protocol, the endpoint is a URL * beginning with "https://"
    • *
    • For the email protocol, the endpoint is an email * address
    • *
    • For the email-json protocol, the endpoint is an * email address
    • *
    • For the sms protocol, the endpoint is a phone * number of an SMS-enabled device
    • *
    • For the sqs protocol, the endpoint is the ARN of * an Amazon SQS queue
    • *
    • For the application protocol, the endpoint is the * EndpointArn of a mobile app and device.
    • */ public SubscribeRequest(String topicArn, String protocol, String endpoint) { setTopicArn(topicArn); setProtocol(protocol); setEndpoint(endpoint); } /** *

      * The ARN of the topic you want to subscribe to. *

      * * @param topicArn * The ARN of the topic you want to subscribe to. */ public void setTopicArn(String topicArn) { this.topicArn = topicArn; } /** *

      * The ARN of the topic you want to subscribe to. *

      * * @return The ARN of the topic you want to subscribe to. */ public String getTopicArn() { return this.topicArn; } /** *

      * The ARN of the topic you want to subscribe to. *

      * * @param topicArn * The ARN of the topic you want to subscribe to. * @return Returns a reference to this object so that method calls can be * chained together. */ public SubscribeRequest withTopicArn(String topicArn) { setTopicArn(topicArn); return this; } /** *

      * The protocol you want to use. Supported protocols include: *

      *
        *
      • http -- delivery of JSON-encoded message via HTTP POST
      • *
      • https -- delivery of JSON-encoded message via HTTPS POST *
      • *
      • email -- delivery of message via SMTP
      • *
      • email-json -- delivery of JSON-encoded message via SMTP
      • *
      • sms -- delivery of message via SMS
      • *
      • sqs -- delivery of JSON-encoded message to an Amazon SQS * queue
      • *
      • application -- delivery of JSON-encoded message to an * EndpointArn for a mobile app and device.
      • *
      * * @param protocol * The protocol you want to use. Supported protocols include:

      *
        *
      • http -- delivery of JSON-encoded message via HTTP * POST
      • *
      • https -- delivery of JSON-encoded message via * HTTPS POST
      • *
      • email -- delivery of message via SMTP
      • *
      • email-json -- delivery of JSON-encoded message * via SMTP
      • *
      • sms -- delivery of message via SMS
      • *
      • sqs -- delivery of JSON-encoded message to an * Amazon SQS queue
      • *
      • application -- delivery of JSON-encoded message * to an EndpointArn for a mobile app and device.
      • */ public void setProtocol(String protocol) { this.protocol = protocol; } /** *

        * The protocol you want to use. Supported protocols include: *

        *
          *
        • http -- delivery of JSON-encoded message via HTTP POST
        • *
        • https -- delivery of JSON-encoded message via HTTPS POST *
        • *
        • email -- delivery of message via SMTP
        • *
        • email-json -- delivery of JSON-encoded message via SMTP
        • *
        • sms -- delivery of message via SMS
        • *
        • sqs -- delivery of JSON-encoded message to an Amazon SQS * queue
        • *
        • application -- delivery of JSON-encoded message to an * EndpointArn for a mobile app and device.
        • *
        * * @return The protocol you want to use. Supported protocols include:

        *
          *
        • http -- delivery of JSON-encoded message via * HTTP POST
        • *
        • https -- delivery of JSON-encoded message via * HTTPS POST
        • *
        • email -- delivery of message via SMTP
        • *
        • email-json -- delivery of JSON-encoded message * via SMTP
        • *
        • sms -- delivery of message via SMS
        • *
        • sqs -- delivery of JSON-encoded message to an * Amazon SQS queue
        • *
        • application -- delivery of JSON-encoded message * to an EndpointArn for a mobile app and device.
        • */ public String getProtocol() { return this.protocol; } /** *

          * The protocol you want to use. Supported protocols include: *

          *
            *
          • http -- delivery of JSON-encoded message via HTTP POST
          • *
          • https -- delivery of JSON-encoded message via HTTPS POST *
          • *
          • email -- delivery of message via SMTP
          • *
          • email-json -- delivery of JSON-encoded message via SMTP
          • *
          • sms -- delivery of message via SMS
          • *
          • sqs -- delivery of JSON-encoded message to an Amazon SQS * queue
          • *
          • application -- delivery of JSON-encoded message to an * EndpointArn for a mobile app and device.
          • *
          * * @param protocol * The protocol you want to use. Supported protocols include:

          *
            *
          • http -- delivery of JSON-encoded message via HTTP * POST
          • *
          • https -- delivery of JSON-encoded message via * HTTPS POST
          • *
          • email -- delivery of message via SMTP
          • *
          • email-json -- delivery of JSON-encoded message * via SMTP
          • *
          • sms -- delivery of message via SMS
          • *
          • sqs -- delivery of JSON-encoded message to an * Amazon SQS queue
          • *
          • application -- delivery of JSON-encoded message * to an EndpointArn for a mobile app and device.
          • * @return Returns a reference to this object so that method calls can be * chained together. */ public SubscribeRequest withProtocol(String protocol) { setProtocol(protocol); return this; } /** *

            * The endpoint that you want to receive notifications. Endpoints vary by * protocol: *

            *
              *
            • For the http protocol, the endpoint is an URL beginning * with "http://"
            • *
            • For the https protocol, the endpoint is a URL beginning * with "https://"
            • *
            • For the email protocol, the endpoint is an email address *
            • *
            • For the email-json protocol, the endpoint is an email * address
            • *
            • For the sms protocol, the endpoint is a phone number of * an SMS-enabled device
            • *
            • For the sqs protocol, the endpoint is the ARN of an * Amazon SQS queue
            • *
            • For the application protocol, the endpoint is the * EndpointArn of a mobile app and device.
            • *
            * * @param endpoint * The endpoint that you want to receive notifications. Endpoints * vary by protocol:

            *
              *
            • For the http protocol, the endpoint is an URL * beginning with "http://"
            • *
            • For the https protocol, the endpoint is a URL * beginning with "https://"
            • *
            • For the email protocol, the endpoint is an email * address
            • *
            • For the email-json protocol, the endpoint is an * email address
            • *
            • For the sms protocol, the endpoint is a phone * number of an SMS-enabled device
            • *
            • For the sqs protocol, the endpoint is the ARN of * an Amazon SQS queue
            • *
            • For the application protocol, the endpoint is the * EndpointArn of a mobile app and device.
            • */ public void setEndpoint(String endpoint) { this.endpoint = endpoint; } /** *

              * The endpoint that you want to receive notifications. Endpoints vary by * protocol: *

              *
                *
              • For the http protocol, the endpoint is an URL beginning * with "http://"
              • *
              • For the https protocol, the endpoint is a URL beginning * with "https://"
              • *
              • For the email protocol, the endpoint is an email address *
              • *
              • For the email-json protocol, the endpoint is an email * address
              • *
              • For the sms protocol, the endpoint is a phone number of * an SMS-enabled device
              • *
              • For the sqs protocol, the endpoint is the ARN of an * Amazon SQS queue
              • *
              • For the application protocol, the endpoint is the * EndpointArn of a mobile app and device.
              • *
              * * @return The endpoint that you want to receive notifications. Endpoints * vary by protocol:

              *
                *
              • For the http protocol, the endpoint is an URL * beginning with "http://"
              • *
              • For the https protocol, the endpoint is a URL * beginning with "https://"
              • *
              • For the email protocol, the endpoint is an email * address
              • *
              • For the email-json protocol, the endpoint is an * email address
              • *
              • For the sms protocol, the endpoint is a phone * number of an SMS-enabled device
              • *
              • For the sqs protocol, the endpoint is the ARN of * an Amazon SQS queue
              • *
              • For the application protocol, the endpoint is * the EndpointArn of a mobile app and device.
              • */ public String getEndpoint() { return this.endpoint; } /** *

                * The endpoint that you want to receive notifications. Endpoints vary by * protocol: *

                *
                  *
                • For the http protocol, the endpoint is an URL beginning * with "http://"
                • *
                • For the https protocol, the endpoint is a URL beginning * with "https://"
                • *
                • For the email protocol, the endpoint is an email address *
                • *
                • For the email-json protocol, the endpoint is an email * address
                • *
                • For the sms protocol, the endpoint is a phone number of * an SMS-enabled device
                • *
                • For the sqs protocol, the endpoint is the ARN of an * Amazon SQS queue
                • *
                • For the application protocol, the endpoint is the * EndpointArn of a mobile app and device.
                • *
                * * @param endpoint * The endpoint that you want to receive notifications. Endpoints * vary by protocol:

                *
                  *
                • For the http protocol, the endpoint is an URL * beginning with "http://"
                • *
                • For the https protocol, the endpoint is a URL * beginning with "https://"
                • *
                • For the email protocol, the endpoint is an email * address
                • *
                • For the email-json protocol, the endpoint is an * email address
                • *
                • For the sms protocol, the endpoint is a phone * number of an SMS-enabled device
                • *
                • For the sqs protocol, the endpoint is the ARN of * an Amazon SQS queue
                • *
                • For the application protocol, the endpoint is the * EndpointArn of a mobile app and device.
                • * @return Returns a reference to this object so that method calls can be * chained together. */ public SubscribeRequest withEndpoint(String endpoint) { setEndpoint(endpoint); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getTopicArn() != null) sb.append("TopicArn: " + getTopicArn() + ","); if (getProtocol() != null) sb.append("Protocol: " + getProtocol() + ","); if (getEndpoint() != null) sb.append("Endpoint: " + getEndpoint()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof SubscribeRequest == false) return false; SubscribeRequest other = (SubscribeRequest) obj; if (other.getTopicArn() == null ^ this.getTopicArn() == null) return false; if (other.getTopicArn() != null && other.getTopicArn().equals(this.getTopicArn()) == false) return false; if (other.getProtocol() == null ^ this.getProtocol() == null) return false; if (other.getProtocol() != null && other.getProtocol().equals(this.getProtocol()) == false) return false; if (other.getEndpoint() == null ^ this.getEndpoint() == null) return false; if (other.getEndpoint() != null && other.getEndpoint().equals(this.getEndpoint()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTopicArn() == null) ? 0 : getTopicArn().hashCode()); hashCode = prime * hashCode + ((getProtocol() == null) ? 0 : getProtocol().hashCode()); hashCode = prime * hashCode + ((getEndpoint() == null) ? 0 : getEndpoint().hashCode()); return hashCode; } @Override public SubscribeRequest clone() { return (SubscribeRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy