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

com.amazonaws.services.dynamodbv2.model.Record Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-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.dynamodbv2.model;

import java.io.Serializable;

/**
 * 

* A description of a unique event within a stream. *

*/ public class Record implements Serializable, Cloneable { /** *

* A globally unique identifier for the event that was recorded in this * stream record. *

*/ private String eventID; /** *

* The type of data modification that was performed on the DynamoDB table: *

*
    *
  • *

    * INSERT - a new item was added to the table. *

    *
  • *
  • *

    * MODIFY - one or more of an existing item's attributes were * modified. *

    *
  • *
  • *

    * REMOVE - the item was deleted from the table *

    *
  • *
*/ private String eventName; /** *

* The version number of the stream record format. This number is updated * whenever the structure of Record is modified. *

*

* Client applications must not assume that eventVersion will remain * at a particular value, as this number is subject to change at any time. * In general, eventVersion will only increase as the low-level * DynamoDB Streams API evolves. *

*/ private String eventVersion; /** *

* The AWS service from which the stream record originated. For DynamoDB * Streams, this is aws:dynamodb. *

*/ private String eventSource; /** *

* The region in which the GetRecords request was received. *

*/ private String awsRegion; /** *

* The main body of the stream record, containing all of the * DynamoDB-specific fields. *

*/ private StreamRecord dynamodb; /** *

* A globally unique identifier for the event that was recorded in this * stream record. *

* * @param eventID * A globally unique identifier for the event that was recorded in * this stream record. */ public void setEventID(String eventID) { this.eventID = eventID; } /** *

* A globally unique identifier for the event that was recorded in this * stream record. *

* * @return A globally unique identifier for the event that was recorded in * this stream record. */ public String getEventID() { return this.eventID; } /** *

* A globally unique identifier for the event that was recorded in this * stream record. *

* * @param eventID * A globally unique identifier for the event that was recorded in * this stream record. * @return Returns a reference to this object so that method calls can be * chained together. */ public Record withEventID(String eventID) { setEventID(eventID); return this; } /** *

* The type of data modification that was performed on the DynamoDB table: *

*
    *
  • *

    * INSERT - a new item was added to the table. *

    *
  • *
  • *

    * MODIFY - one or more of an existing item's attributes were * modified. *

    *
  • *
  • *

    * REMOVE - the item was deleted from the table *

    *
  • *
* * @param eventName * The type of data modification that was performed on the DynamoDB * table:

*
    *
  • *

    * INSERT - a new item was added to the table. *

    *
  • *
  • *

    * MODIFY - one or more of an existing item's attributes * were modified. *

    *
  • *
  • *

    * REMOVE - the item was deleted from the table *

    *
  • * @see OperationType */ public void setEventName(String eventName) { this.eventName = eventName; } /** *

    * The type of data modification that was performed on the DynamoDB table: *

    *
      *
    • *

      * INSERT - a new item was added to the table. *

      *
    • *
    • *

      * MODIFY - one or more of an existing item's attributes were * modified. *

      *
    • *
    • *

      * REMOVE - the item was deleted from the table *

      *
    • *
    * * @return The type of data modification that was performed on the DynamoDB * table:

    *
      *
    • *

      * INSERT - a new item was added to the table. *

      *
    • *
    • *

      * MODIFY - one or more of an existing item's * attributes were modified. *

      *
    • *
    • *

      * REMOVE - the item was deleted from the table *

      *
    • * @see OperationType */ public String getEventName() { return this.eventName; } /** *

      * The type of data modification that was performed on the DynamoDB table: *

      *
        *
      • *

        * INSERT - a new item was added to the table. *

        *
      • *
      • *

        * MODIFY - one or more of an existing item's attributes were * modified. *

        *
      • *
      • *

        * REMOVE - the item was deleted from the table *

        *
      • *
      * * @param eventName * The type of data modification that was performed on the DynamoDB * table:

      *
        *
      • *

        * INSERT - a new item was added to the table. *

        *
      • *
      • *

        * MODIFY - one or more of an existing item's attributes * were modified. *

        *
      • *
      • *

        * REMOVE - the item was deleted from the table *

        *
      • * @return Returns a reference to this object so that method calls can be * chained together. * @see OperationType */ public Record withEventName(String eventName) { setEventName(eventName); return this; } /** *

        * The type of data modification that was performed on the DynamoDB table: *

        *
          *
        • *

          * INSERT - a new item was added to the table. *

          *
        • *
        • *

          * MODIFY - one or more of an existing item's attributes were * modified. *

          *
        • *
        • *

          * REMOVE - the item was deleted from the table *

          *
        • *
        * * @param eventName * The type of data modification that was performed on the DynamoDB * table:

        *
          *
        • *

          * INSERT - a new item was added to the table. *

          *
        • *
        • *

          * MODIFY - one or more of an existing item's attributes * were modified. *

          *
        • *
        • *

          * REMOVE - the item was deleted from the table *

          *
        • * @see OperationType */ public void setEventName(OperationType eventName) { this.eventName = eventName.toString(); } /** *

          * The type of data modification that was performed on the DynamoDB table: *

          *
            *
          • *

            * INSERT - a new item was added to the table. *

            *
          • *
          • *

            * MODIFY - one or more of an existing item's attributes were * modified. *

            *
          • *
          • *

            * REMOVE - the item was deleted from the table *

            *
          • *
          * * @param eventName * The type of data modification that was performed on the DynamoDB * table:

          *
            *
          • *

            * INSERT - a new item was added to the table. *

            *
          • *
          • *

            * MODIFY - one or more of an existing item's attributes * were modified. *

            *
          • *
          • *

            * REMOVE - the item was deleted from the table *

            *
          • * @return Returns a reference to this object so that method calls can be * chained together. * @see OperationType */ public Record withEventName(OperationType eventName) { setEventName(eventName); return this; } /** *

            * The version number of the stream record format. This number is updated * whenever the structure of Record is modified. *

            *

            * Client applications must not assume that eventVersion will remain * at a particular value, as this number is subject to change at any time. * In general, eventVersion will only increase as the low-level * DynamoDB Streams API evolves. *

            * * @param eventVersion * The version number of the stream record format. This number is * updated whenever the structure of Record is modified.

            *

            * Client applications must not assume that eventVersion will * remain at a particular value, as this number is subject to change * at any time. In general, eventVersion will only increase as * the low-level DynamoDB Streams API evolves. */ public void setEventVersion(String eventVersion) { this.eventVersion = eventVersion; } /** *

            * The version number of the stream record format. This number is updated * whenever the structure of Record is modified. *

            *

            * Client applications must not assume that eventVersion will remain * at a particular value, as this number is subject to change at any time. * In general, eventVersion will only increase as the low-level * DynamoDB Streams API evolves. *

            * * @return The version number of the stream record format. This number is * updated whenever the structure of Record is modified.

            *

            * Client applications must not assume that eventVersion will * remain at a particular value, as this number is subject to change * at any time. In general, eventVersion will only increase * as the low-level DynamoDB Streams API evolves. */ public String getEventVersion() { return this.eventVersion; } /** *

            * The version number of the stream record format. This number is updated * whenever the structure of Record is modified. *

            *

            * Client applications must not assume that eventVersion will remain * at a particular value, as this number is subject to change at any time. * In general, eventVersion will only increase as the low-level * DynamoDB Streams API evolves. *

            * * @param eventVersion * The version number of the stream record format. This number is * updated whenever the structure of Record is modified.

            *

            * Client applications must not assume that eventVersion will * remain at a particular value, as this number is subject to change * at any time. In general, eventVersion will only increase as * the low-level DynamoDB Streams API evolves. * @return Returns a reference to this object so that method calls can be * chained together. */ public Record withEventVersion(String eventVersion) { setEventVersion(eventVersion); return this; } /** *

            * The AWS service from which the stream record originated. For DynamoDB * Streams, this is aws:dynamodb. *

            * * @param eventSource * The AWS service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb. */ public void setEventSource(String eventSource) { this.eventSource = eventSource; } /** *

            * The AWS service from which the stream record originated. For DynamoDB * Streams, this is aws:dynamodb. *

            * * @return The AWS service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb. */ public String getEventSource() { return this.eventSource; } /** *

            * The AWS service from which the stream record originated. For DynamoDB * Streams, this is aws:dynamodb. *

            * * @param eventSource * The AWS service from which the stream record originated. For * DynamoDB Streams, this is aws:dynamodb. * @return Returns a reference to this object so that method calls can be * chained together. */ public Record withEventSource(String eventSource) { setEventSource(eventSource); return this; } /** *

            * The region in which the GetRecords request was received. *

            * * @param awsRegion * The region in which the GetRecords request was received. */ public void setAwsRegion(String awsRegion) { this.awsRegion = awsRegion; } /** *

            * The region in which the GetRecords request was received. *

            * * @return The region in which the GetRecords request was received. */ public String getAwsRegion() { return this.awsRegion; } /** *

            * The region in which the GetRecords request was received. *

            * * @param awsRegion * The region in which the GetRecords request was received. * @return Returns a reference to this object so that method calls can be * chained together. */ public Record withAwsRegion(String awsRegion) { setAwsRegion(awsRegion); return this; } /** *

            * The main body of the stream record, containing all of the * DynamoDB-specific fields. *

            * * @param dynamodb * The main body of the stream record, containing all of the * DynamoDB-specific fields. */ public void setDynamodb(StreamRecord dynamodb) { this.dynamodb = dynamodb; } /** *

            * The main body of the stream record, containing all of the * DynamoDB-specific fields. *

            * * @return The main body of the stream record, containing all of the * DynamoDB-specific fields. */ public StreamRecord getDynamodb() { return this.dynamodb; } /** *

            * The main body of the stream record, containing all of the * DynamoDB-specific fields. *

            * * @param dynamodb * The main body of the stream record, containing all of the * DynamoDB-specific fields. * @return Returns a reference to this object so that method calls can be * chained together. */ public Record withDynamodb(StreamRecord dynamodb) { setDynamodb(dynamodb); 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 (getEventID() != null) sb.append("EventID: " + getEventID() + ","); if (getEventName() != null) sb.append("EventName: " + getEventName() + ","); if (getEventVersion() != null) sb.append("EventVersion: " + getEventVersion() + ","); if (getEventSource() != null) sb.append("EventSource: " + getEventSource() + ","); if (getAwsRegion() != null) sb.append("AwsRegion: " + getAwsRegion() + ","); if (getDynamodb() != null) sb.append("Dynamodb: " + getDynamodb()); 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.getEventID() == null ^ this.getEventID() == null) return false; if (other.getEventID() != null && other.getEventID().equals(this.getEventID()) == 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.getEventSource() == null ^ this.getEventSource() == null) return false; if (other.getEventSource() != null && other.getEventSource().equals(this.getEventSource()) == false) return false; if (other.getAwsRegion() == null ^ this.getAwsRegion() == null) return false; if (other.getAwsRegion() != null && other.getAwsRegion().equals(this.getAwsRegion()) == false) return false; if (other.getDynamodb() == null ^ this.getDynamodb() == null) return false; if (other.getDynamodb() != null && other.getDynamodb().equals(this.getDynamodb()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getEventID() == null) ? 0 : getEventID().hashCode()); hashCode = prime * hashCode + ((getEventName() == null) ? 0 : getEventName().hashCode()); hashCode = prime * hashCode + ((getEventVersion() == null) ? 0 : getEventVersion() .hashCode()); hashCode = prime * hashCode + ((getEventSource() == null) ? 0 : getEventSource().hashCode()); hashCode = prime * hashCode + ((getAwsRegion() == null) ? 0 : getAwsRegion().hashCode()); hashCode = prime * hashCode + ((getDynamodb() == null) ? 0 : getDynamodb().hashCode()); return hashCode; } @Override public Record clone() { try { return (Record) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy