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

com.amazonaws.services.lambda.runtime.events.KinesisEvent Maven / Gradle / Ivy

There is a newer version: 3.14.0
Show newest version
/*
 * Copyright 2015-2020 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 java.io.Serializable;
import java.util.List;

/**
 * Represents an Amazon Kinesis event.
 */
public class KinesisEvent implements Serializable, Cloneable {

    private static final long serialVersionUID = 8145257839787754632L;

    private List records;

    /**
     * The unit of data of an Amazon Kinesis stream
     */
    public static class Record extends com.amazonaws.services.lambda.runtime.events.models.kinesis.Record {

        private static final long serialVersionUID = 7856672931457425976L;

        private String kinesisSchemaVersion;

        /**
         * default constructor
         * (Not available in v1)
         */
        public Record() {}

        /**
         * Gets the schema version for the record
         * @return kinesis schema version
         */
        public String getKinesisSchemaVersion() {
            return kinesisSchemaVersion;
        }

        /**
         * Sets the schema version for the record
         * @param kinesisSchemaVersion A string containing the schema version
         */
        public void setKinesisSchemaVersion(String kinesisSchemaVersion) {
            this.kinesisSchemaVersion = kinesisSchemaVersion;
        }

        /**
         * 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 (getSequenceNumber() != null)
                sb.append("SequenceNumber: ").append(getSequenceNumber()).append(",");
            if (getApproximateArrivalTimestamp() != null)
                sb.append("ApproximateArrivalTimestamp: ").append(getApproximateArrivalTimestamp()).append(",");
            if (getData() != null)
                sb.append("Data: ").append(getData()).append(",");
            if (getPartitionKey() != null)
                sb.append("PartitionKey: ").append(getPartitionKey()).append(",");
            if (getEncryptionType() != null)
                sb.append("EncryptionType: ").append(getEncryptionType()).append(",");
            if (getKinesisSchemaVersion() != null)
                sb.append("KinesisSchemaVersion: ").append(getKinesisSchemaVersion());
            sb.append("}");
            return sb.toString();
        }

        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;

            if (obj instanceof Record == false)
                return false;
            Record other = (Record) obj;
            if (other.getSequenceNumber() == null ^ this.getSequenceNumber() == null)
                return false;
            if (other.getSequenceNumber() != null && other.getSequenceNumber().equals(this.getSequenceNumber()) == false)
                return false;
            if (other.getApproximateArrivalTimestamp() == null ^ this.getApproximateArrivalTimestamp() == null)
                return false;
            if (other.getApproximateArrivalTimestamp() != null && other.getApproximateArrivalTimestamp().equals(this.getApproximateArrivalTimestamp()) == false)
                return false;
            if (other.getData() == null ^ this.getData() == null)
                return false;
            if (other.getData() != null && other.getData().equals(this.getData()) == false)
                return false;
            if (other.getPartitionKey() == null ^ this.getPartitionKey() == null)
                return false;
            if (other.getPartitionKey() != null && other.getPartitionKey().equals(this.getPartitionKey()) == false)
                return false;
            if (other.getEncryptionType() == null ^ this.getEncryptionType() == null)
                return false;
            if (other.getEncryptionType() != null && other.getEncryptionType().equals(this.getEncryptionType()) == false)
                return false;
            if (other.getKinesisSchemaVersion() == null ^ this.getKinesisSchemaVersion() == null)
                return false;
            if (other.getKinesisSchemaVersion() != null && other.getKinesisSchemaVersion().equals(this.getKinesisSchemaVersion()) == false)
                return false;
            return true;
        }

        /* (non-Javadoc)
         * @see com.amazonaws.services.lambda.runtime.events.models.kinesis.Record#hashCode()
         */
        @Override
        public int hashCode() {
            final int prime = 31;
            int result = super.hashCode();
            result = prime * result + ((getKinesisSchemaVersion() == null) ? 0 : getKinesisSchemaVersion().hashCode());
            return result;
        }

        @Override
        public Record clone() {
            return (Record) super.clone();
        }
    }
    
    /**
     * Kinesis event records provide contextual data about a Kinesis record
     *
     */
    public static class KinesisEventRecord implements Serializable, Cloneable {

        private static final long serialVersionUID = -3855723544907905206L;

        private String eventSource;

        private Record kinesis;

        private String eventID;

        private String invokeIdentityArn;

        private String eventName;

        private String eventVersion;

        private String eventSourceARN;

        private String awsRegion;

        /**
         * default constructor
         * (not available in v1)
         */
        public KinesisEventRecord() {}

        /**
         * Gets the source of the event
         * @return event source
         */
        public String getEventSource() {
            return eventSource;
        }

        /**
         * Sets the source of the event
         * @param eventSource A string representing the event source
         */
        public void setEventSource(String eventSource) {
            this.eventSource = eventSource;
        }

        /**
         * Gets the underlying Kinesis record associated with the event.
         * @return Kinesis Record object
         */
        public Record getKinesis() {
            return kinesis;
        }

        /**
         * Sets the underlying Kinesis record associated with the event.
         * @param kinesis A Kineis record object.
         */
        public void setKinesis(Record kinesis) {
            this.kinesis = kinesis;
        }

        /**
         * Gets the event id.
         * @return event id
         */
        public String getEventID() {
            return eventID;
        }

        /**
         * Sets the event id
         * @param eventID A string representing the event id.
         */
        public void setEventID(String eventID) {
            this.eventID = eventID;
        }

        /**
         * Gets then ARN for the identity used to invoke the Lambda Function. 
         * @return invoke arn
         */
        public String getInvokeIdentityArn() {
            return invokeIdentityArn;
        }

        /**
         * Sets an ARN for the identity used to invoke the Lambda Function.
         * @param invokeIdentityArn A string representing the invoke identity ARN
         */
        public void setInvokeIdentityArn(String invokeIdentityArn) {
            this.invokeIdentityArn = invokeIdentityArn;
        }

        /**
         * Gets the name of the event
         * @return event name
         */
        public String getEventName() {
            return eventName;
        }

        /**
         * Sets the name of the event
         * @param eventName A string containing the event name
         */
        public void setEventName(String eventName) {
            this.eventName = eventName;
        }

        /**
         * 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;
        }

        /**
         * Gets the ARN of the event source
         * @return event source arn
         */
        public String getEventSourceARN() {
            return eventSourceARN;
        }

        /**
         * Sets the ARN of the event source
         * @param eventSourceARN A string containing the event source ARN
         */
        public void setEventSourceARN(String eventSourceARN) {
            this.eventSourceARN = eventSourceARN;
        }

        /**
         * Gets the AWS region where the event originated
         * @return aws region
         */
        public String getAwsRegion() {
            return awsRegion;
        }

        /**
         * Sets the AWS region where the event originated
         * @param awsRegion A string containing the AWS region
         */
        public void setAwsRegion(String awsRegion) {
            this.awsRegion = awsRegion;
        }

        /**
         * 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 (getEventSource() != null)
                sb.append("eventSource: ").append(getEventSource()).append(",");
            if (getKinesis() != null)
                sb.append("kinesis: ").append(getKinesis().toString()).append(",");
            if (getEventID() != null)
                sb.append("eventId: ").append(getEventID()).append(",");
            if (getInvokeIdentityArn() != null)
                sb.append("invokeIdentityArn: ").append(getInvokeIdentityArn()).append(",");
            if (getEventName() != null)
                sb.append("eventName: ").append(getEventName()).append(",");
            if (getEventVersion() != null)
                sb.append("eventVersion: ").append(getEventVersion()).append(",");
            if (getEventSourceARN() != null)
                sb.append("eventSourceARN: ").append(getEventSourceARN()).append(",");
            if (getAwsRegion() != null)
                sb.append("awsRegion: ").append(getAwsRegion());
            sb.append("}");
            return sb.toString();
        }

        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;

            if (obj instanceof KinesisEventRecord == false)
                return false;
            KinesisEventRecord other = (KinesisEventRecord) obj;
            if (other.getEventSource() == null ^ this.getEventSource() == null)
                return false;
            if (other.getEventSource() != null && other.getEventSource().equals(this.getEventSource()) == false)
                return false;
            if (other.getKinesis() == null ^ this.getKinesis() == null)
                return false;
            if (other.getKinesis() != null && other.getKinesis().equals(this.getKinesis()) == false)
                return false;
            if (other.getEventID() == null ^ this.getEventID() == null)
                return false;
            if (other.getEventID() != null && other.getEventID().equals(this.getEventID()) == false)
                return false;
            if (other.getInvokeIdentityArn() == null ^ this.getInvokeIdentityArn() == null)
                return false;
            if (other.getInvokeIdentityArn() != null && other.getInvokeIdentityArn().equals(this.getInvokeIdentityArn()) == false)
                return false;
            if (other.getEventName() == null ^ this.getEventName() == null)
                return false;
            if (other.getEventName() != null && other.getEventName().equals(this.getEventName()) == 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.getEventSourceARN() == null ^ this.getEventSourceARN() == null)
                return false;
            if (other.getEventSourceARN() != null && other.getEventSourceARN().equals(this.getEventSourceARN()) == false)
                return false;
            if (other.getAwsRegion() == null ^ this.getAwsRegion() == null)
                return false;
            if (other.getAwsRegion() != null && other.getAwsRegion().equals(this.getAwsRegion()) == false)
                return false;
            return true;
        }

        @Override
        public int hashCode() {
            final int prime = 31;
            int hashCode = 1;

            hashCode = prime * hashCode + ((getEventSource() == null) ? 0 : getEventSource().hashCode());
            hashCode = prime * hashCode + ((getKinesis() == null) ? 0 : getKinesis().hashCode());
            hashCode = prime * hashCode + ((getEventID() == null) ? 0 : getEventID().hashCode());
            hashCode = prime * hashCode + ((getInvokeIdentityArn() == null) ? 0 : getInvokeIdentityArn().hashCode());
            hashCode = prime * hashCode + ((getEventName() == null) ? 0 : getEventName().hashCode());
            hashCode = prime * hashCode + ((getEventVersion() == null) ? 0 : getEventVersion().hashCode());
            hashCode = prime * hashCode + ((getEventSourceARN() == null) ? 0 : getEventSourceARN().hashCode());
            hashCode = prime * hashCode + ((getAwsRegion() == null) ? 0 : getAwsRegion().hashCode());

            return hashCode;
        }

        @Override
        public KinesisEventRecord clone() {
            try {
                return (KinesisEventRecord) super.clone();
            } catch (CloneNotSupportedException e) {
                throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone()", e);
            }
        }
    }

    /**
     * default constructor
     * (Not available in v1)
     */
    public KinesisEvent() {}

    /**
     * Gets the list of Kinesis event records
     * @return list of records
     */
    public List getRecords() {
        return records;
    }

    /**
     * Sets the list of Kinesis event records
     * @param records a list of Kinesis event records
     */
    public void setRecords(List records) {
        this.records = records;
    }

    /**
     * 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().toString());
        sb.append("}");
        return sb.toString();
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;

        if (obj instanceof KinesisEvent == false)
            return false;
        KinesisEvent other = (KinesisEvent) 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 KinesisEvent clone() {
        try {
            return (KinesisEvent) super.clone();
        } catch (CloneNotSupportedException e) {
            throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone()", e);
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy