com.amazonaws.services.lambda.runtime.events.SNSEvent Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-lambda-java-events Show documentation
Show all versions of aws-lambda-java-events Show documentation
Event interface definitions AWS services supported by AWS Lambda.
/*
* Copyright 2012-2017 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.lambda.runtime.events;
import org.joda.time.DateTime;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* Represents an Amazon SNS event.
*/
public class SNSEvent implements Serializable, Cloneable {
private static final long serialVersionUID = -727529735144605167L;
private List records;
/**
* Represents an SNS message attribute
*
*/
public static class MessageAttribute implements Serializable, Cloneable {
private static final long serialVersionUID = -5656179310535967619L;
private String type;
private String value;
/**
* default constructor
* (not available in v1)
*/
public MessageAttribute() {}
/**
* Gets the attribute type
* @return type
*/
public String getType() {
return type;
}
/**
* Sets the attribute type
* @param type A string representing the attribute type
*/
public void setType(String type) {
this.type = type;
}
/**
* @param type type
* @return MessageAttribute
*/
public MessageAttribute withType(String type) {
setType(type);
return this;
}
/**
* Gets the attribute value
* @return value
*/
public String getValue() {
return value;
}
/**
* Sets the attribute value
* @param value A string containing the attribute value
*/
public void setValue(String value) {
this.value = value;
}
/**
* @param value attriute value
* @return MessageAttribute
*/
public MessageAttribute withValue(String value) {
setValue(value);
return this;
}
/**
* Returns a string representation of this object; useful for testing and debugging.
*
* @return A string representation of this object.
*
* @see Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getType() != null)
sb.append("type: ").append(getType()).append(",");
if (getValue() != null)
sb.append("value: ").append(getValue());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof MessageAttribute == false)
return false;
MessageAttribute other = (MessageAttribute) obj;
if (other.getType() == null ^ this.getType() == null)
return false;
if (other.getType() != null && other.getType().equals(this.getType()) == false)
return false;
if (other.getValue() == null ^ this.getValue() == null)
return false;
if (other.getValue() != null && other.getValue().equals(this.getValue()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getType() == null) ? 0 : getType().hashCode());
hashCode = prime * hashCode + ((getValue() == null) ? 0 : getValue().hashCode());
return hashCode;
}
@Override
public MessageAttribute clone() {
try {
return (MessageAttribute) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone()", e);
}
}
}
/**
* Represents an SNS message
*/
public static class SNS implements Serializable, Cloneable {
private static final long serialVersionUID = -7038894618736475592L;
private Map messageAttributes;
private String signingCertUrl;
private String messageId;
private String message;
private String subject;
private String unsubscribeUrl;
private String type;
private String signatureVersion;
private String signature;
private DateTime timestamp;
private String topicArn;
/**
* default constructor
* (Not available in v1)
*/
public SNS() {}
/**
* Gets the attributes associated with the message
* @return message attributes
*/
public Map getMessageAttributes() {
return messageAttributes;
}
/**
* Sets the attributes associated with the message
* @param messageAttributes A map object with string and message attribute key/value pairs
*/
public void setMessageAttributes(
Map messageAttributes) {
this.messageAttributes = messageAttributes;
}
/**
* @param messageAttributes message attributes
* @return SNS
*/
public SNS withMessageAttributes(Map messageAttributes) {
setMessageAttributes(messageAttributes);
return this;
}
/**
* Gets the URL for the signing certificate
* @return signing certificate url
*/
public String getSigningCertUrl() {
return signingCertUrl;
}
/**
* Sets the URL for the signing certificate
* @param signingCertUrl A string containing a URL
*/
public void setSigningCertUrl(String signingCertUrl) {
this.signingCertUrl = signingCertUrl;
}
/**
* @param signingCertUrl signing cert url
* @return SNS
*/
public SNS withSigningCertUrl(String signingCertUrl) {
setSigningCertUrl(signingCertUrl);
return this;
}
/**
* Gets the message id
* @return message id
*/
public String getMessageId() {
return messageId;
}
/**
* Sets the message id
* @param messageId A string containing the message ID
*/
public void setMessageId(String messageId) {
this.messageId = messageId;
}
/**
* @param messageId message id
* @return SNS
*/
public SNS withMessageId(String messageId) {
setMessageId(messageId);
return this;
}
/**
* Gets the message
* @return message string
*/
public String getMessage() {
return message;
}
/**
* Sets the message
* @param message A string containing the message body
*/
public void setMessage(String message) {
this.message = message;
}
/**
* @param message string message
* @return SNS
*/
public SNS withMessage(String message) {
setMessage(message);
return this;
}
/**
* Gets the subject for the message
* @return subject of message
*/
public String getSubject() {
return subject;
}
/**
* Sets the subject for the message
* @param subject A string containing the message subject
*/
public void setSubject(String subject) {
this.subject = subject;
}
/**
* @param subject subject of message
* @return SNS
*/
public SNS withSubject(String subject) {
setSubject(subject);
return this;
}
/**
* Gets the message unsubscribe URL
* @return unsubscribe url
*/
public String getUnsubscribeUrl() {
return unsubscribeUrl;
}
/**
* Sets the message unsubscribe URL
* @param unsubscribeUrl A string with the URL
*/
public void setUnsubscribeUrl(String unsubscribeUrl) {
this.unsubscribeUrl = unsubscribeUrl;
}
/**
* @param unsubscribeUrl unsubscribe url
* @return SNS
*/
public SNS withUnsubscribeUrl(String unsubscribeUrl) {
setUnsubscribeUrl(unsubscribeUrl);
return this;
}
/**
* Gets the message type
* @return message type
*/
public String getType() {
return type;
}
/**
* Sets the message type
* @param type A string containing the message type
*/
public void setType(String type) {
this.type = type;
}
/**
* @param type type
* @return SNS
*/
public SNS withType(String type) {
setType(type);
return this;
}
/**
* Gets the signature version used to sign the message
* @return signature version
*/
public String getSignatureVersion() {
return signatureVersion;
}
/**
* The signature version used to sign the message
* @param signatureVersion A string containing the signature version
*/
public void setSignatureVersion(String signatureVersion) {
this.signatureVersion = signatureVersion;
}
/**
* @param signatureVersion signature version
* @return SNS
*/
public SNS withSignatureVersion(String signatureVersion) {
setSignatureVersion(signatureVersion);
return this;
}
/**
* Gets the message signature
* @return message signature
*/
public String getSignature() {
return signature;
}
/**
* Sets the message signature
* @param signature A string containing the message signature
*/
public void setSignature(String signature) {
this.signature = signature;
}
/**
* @param signature signature
* @return SNS
*/
public SNS withSignature(String signature) {
setSignature(signature);
return this;
}
/**
* Gets the message time stamp
* @return timestamp of sns message
*/
public DateTime getTimestamp() {
return timestamp;
}
/**
* Sets the message time stamp
* @param timestamp A Date object representing the message time stamp
*/
public void setTimestamp(DateTime timestamp) {
this.timestamp = timestamp;
}
/**
* @param timestamp timestamp
* @return SNS
*/
public SNS withTimestamp(DateTime timestamp) {
setTimestamp(timestamp);
return this;
}
/**
* Gets the topic ARN
* @return topic arn
*/
public String getTopicArn() {
return topicArn;
}
/**
* Sets the topic ARN
* @param topicArn A string containing the topic ARN
*/
public void setTopicArn(String topicArn) {
this.topicArn = topicArn;
}
/**
* @param topicArn topic ARN
* @return SNS
*/
public SNS withTopicArn(String topicArn) {
setTopicArn(topicArn);
return this;
}
/**
* Returns a string representation of this object; useful for testing and debugging.
*
* @return A string representation of this object.
*
* @see Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getMessageAttributes() != null)
sb.append("messageAttributes: ").append(getMessageAttributes().toString()).append(",");
if (getSigningCertUrl() != null)
sb.append("signingCertUrl: ").append(getSigningCertUrl()).append(",");
if (getMessageId() != null)
sb.append("messageId: ").append(getMessageId()).append(",");
if (getMessage() != null)
sb.append("message: ").append(getMessage()).append(",");
if (getSubject() != null)
sb.append("subject: ").append(getSubject()).append(",");
if (getUnsubscribeUrl() != null)
sb.append("unsubscribeUrl: ").append(getUnsubscribeUrl()).append(",");
if (getType() != null)
sb.append("type: ").append(getType()).append(",");
if (getSignatureVersion() != null)
sb.append("signatureVersion: ").append(getSignatureVersion()).append(",");
if (getSignature() != null)
sb.append("signature: ").append(getSignature()).append(",");
if (getTimestamp() != null)
sb.append("timestamp: ").append(getTimestamp().toString()).append(",");
if (getTopicArn() != null)
sb.append("topicArn: ").append(getTopicArn());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof SNS == false)
return false;
SNS other = (SNS) obj;
if (other.getMessageAttributes() == null ^ this.getMessageAttributes() == null)
return false;
if (other.getMessageAttributes() != null && other.getMessageAttributes().equals(this.getMessageAttributes()) == false)
return false;
if (other.getSigningCertUrl() == null ^ this.getSigningCertUrl() == null)
return false;
if (other.getSigningCertUrl() != null && other.getSigningCertUrl().equals(this.getSigningCertUrl()) == false)
return false;
if (other.getMessageId() == null ^ this.getMessageId() == null)
return false;
if (other.getMessageId() != null && other.getMessageId().equals(this.getMessageId()) == false)
return false;
if (other.getMessage() == null ^ this.getMessage() == null)
return false;
if (other.getMessage() != null && other.getMessage().equals(this.getMessage()) == false)
return false;
if (other.getSubject() == null ^ this.getSubject() == null)
return false;
if (other.getSubject() != null && other.getSubject().equals(this.getSubject()) == false)
return false;
if (other.getUnsubscribeUrl() == null ^ this.getUnsubscribeUrl() == null)
return false;
if (other.getUnsubscribeUrl() != null && other.getUnsubscribeUrl().equals(this.getUnsubscribeUrl()) == false)
return false;
if (other.getType() == null ^ this.getType() == null)
return false;
if (other.getType() != null && other.getType().equals(this.getType()) == false)
return false;
if (other.getSignatureVersion() == null ^ this.getSignatureVersion() == null)
return false;
if (other.getSignatureVersion() != null && other.getSignatureVersion().equals(this.getSignatureVersion()) == false)
return false;
if (other.getSignature() == null ^ this.getSignature() == null)
return false;
if (other.getSignature() != null && other.getSignature().equals(this.getSignature()) == false)
return false;
if (other.getTimestamp() == null ^ this.getTimestamp() == null)
return false;
if (other.getTimestamp() != null && other.getTimestamp().equals(this.getTimestamp()) == false)
return false;
if (other.getTopicArn() == null ^ this.getTopicArn() == null)
return false;
if (other.getTopicArn() != null && other.getTopicArn().equals(this.getTopicArn()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getMessageAttributes() == null) ? 0 : getMessageAttributes().hashCode());
hashCode = prime * hashCode + ((getSigningCertUrl() == null) ? 0 : getSigningCertUrl().hashCode());
hashCode = prime * hashCode + ((getMessageId() == null) ? 0 : getMessageId().hashCode());
hashCode = prime * hashCode + ((getMessage() == null) ? 0 : getMessage().hashCode());
hashCode = prime * hashCode + ((getSubject() == null) ? 0 : getSubject().hashCode());
hashCode = prime * hashCode + ((getUnsubscribeUrl() == null) ? 0 : getUnsubscribeUrl().hashCode());
hashCode = prime * hashCode + ((getType() == null) ? 0 : getType().hashCode());
hashCode = prime * hashCode + ((getSignatureVersion() == null) ? 0 : getSignatureVersion().hashCode());
hashCode = prime * hashCode + ((getSignature() == null) ? 0 : getSignature().hashCode());
hashCode = prime * hashCode + ((getTimestamp() == null) ? 0 : getTimestamp().hashCode());
hashCode = prime * hashCode + ((getTopicArn() == null) ? 0 : getTopicArn().hashCode());
return hashCode;
}
@Override
public SNS clone() {
try {
return (SNS) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone()", e);
}
}
}
/**
* Represents an SNS message record. SNS message records are used to send
* SNS messages to Lambda Functions.
*
*/
public static class SNSRecord implements Serializable, Cloneable {
private static final long serialVersionUID = -209065548155161859L;
private SNS sns;
private String eventVersion;
private String eventSource;
private String eventSubscriptionArn;
/**
* default constructor
* (Not available in v1)
*/
public SNSRecord() {}
/**
* Gets the SNS message
* @return sns body of message
*/
public SNS getSNS() {
return sns;
}
/**
* Sets the SNS message
* @param sns An SNS object representing the SNS message
*/
public void setSns(SNS sns) {
this.sns = sns;
}
/**
* @param sns SNS message object
* @return SNSRecord
*/
public SNSRecord withSns(SNS sns) {
setSns(sns);
return this;
}
/**
* Gets the event version
* @return event version
*/
public String getEventVersion() {
return eventVersion;
}
/**
* Sets the event version
* @param eventVersion A string containing the event version
*/
public void setEventVersion(String eventVersion) {
this.eventVersion = eventVersion;
}
/**
* @param eventVersion event version
* @return SNSRecord
*/
public SNSRecord withEventVersion(String eventVersion) {
setEventVersion(eventVersion);
return this;
}
/**
* Gets the event source
* @return event source
*/
public String getEventSource() {
return eventSource;
}
/**
* Sets the event source
* @param eventSource A string containing the event source
*/
public void setEventSource(String eventSource) {
this.eventSource = eventSource;
}
/**
* @param eventSource event source
* @return SNSRecord
*/
public SNSRecord withEventSource(String eventSource) {
setEventSource(eventSource);
return this;
}
/**
* Gets the event subscription ARN
* @return event subscription arn
*/
public String getEventSubscriptionArn() {
return eventSubscriptionArn;
}
/**
* Sets the event subscription ARN
* @param eventSubscriptionArn A string containing the event subscription ARN
*/
public void setEventSubscriptionArn(String eventSubscriptionArn) {
this.eventSubscriptionArn = eventSubscriptionArn;
}
/**
* @param eventSubscriptionArn event subscription arn
* @return SNSRecord
*/
public SNSRecord withEventSubscriptionArn(String eventSubscriptionArn) {
setEventSubscriptionArn(eventSubscriptionArn);
return this;
}
/**
* Returns a string representation of this object; useful for testing and debugging.
*
* @return A string representation of this object.
*
* @see Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getSNS() != null)
sb.append("sns: ").append(getSNS().toString()).append(",");
if (getEventVersion() != null)
sb.append("eventVersion: ").append(getEventVersion()).append(",");
if (getEventSource() != null)
sb.append("eventSource: ").append(getEventSource()).append(",");
if (getEventSubscriptionArn() != null)
sb.append("eventSubscriptionArn: ").append(getEventSubscriptionArn());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof SNSRecord == false)
return false;
SNSRecord other = (SNSRecord) obj;
if (other.getSNS() == null ^ this.getSNS() == null)
return false;
if (other.getSNS() != null && other.getSNS().equals(this.getSNS()) == false)
return false;
if (other.getEventVersion() == null ^ this.getEventVersion() == null)
return false;
if (other.getEventVersion() != null && other.getEventVersion().equals(this.getEventVersion()) == false)
return false;
if (other.getEventSource() == null ^ this.getEventSource() == null)
return false;
if (other.getEventSource() != null && other.getEventSource().equals(this.getEventSource()) == false)
return false;
if (other.getEventSubscriptionArn() == null ^ this.getEventSubscriptionArn() == null)
return false;
if (other.getEventSubscriptionArn() != null && other.getEventSubscriptionArn().equals(this.getEventSubscriptionArn()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getSNS() == null) ? 0 : getSNS().hashCode());
hashCode = prime * hashCode + ((getEventVersion() == null) ? 0 : getEventVersion().hashCode());
hashCode = prime * hashCode + ((getEventSource() == null) ? 0 : getEventSource().hashCode());
hashCode = prime * hashCode + ((getEventSubscriptionArn() == null) ? 0 : getEventSubscriptionArn().hashCode());
return hashCode;
}
@Override
public SNSRecord clone() {
try {
return (SNSRecord) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone()", e);
}
}
}
/**
* default constructor
* (Not available in v1)
*/
public SNSEvent() {}
/**
* Gets the list of SNS records
* @return List of records
*/
public List getRecords() {
return records;
}
/**
* Sets a list of SNS records
* @param records A list of SNS record objects
*/
public void setRecords(List records) {
this.records = records;
}
/**
* @param records a List of SNSRecords
* @return SNSEvent
*/
public SNSEvent withRecords(List records) {
setRecords(records);
return this;
}
/**
* Returns a string representation of this object; useful for testing and debugging.
*
* @return A string representation of this object.
*
* @see Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getRecords() != null)
sb.append(getRecords());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof SNSEvent == false)
return false;
SNSEvent other = (SNSEvent) obj;
if (other.getRecords() == null ^ this.getRecords() == null)
return false;
if (other.getRecords() != null && other.getRecords().equals(this.getRecords()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getRecords() == null) ? 0 : getRecords().hashCode());
return hashCode;
}
@Override
public SNSEvent clone() {
try {
return (SNSEvent) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone()", e);
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy