/* * Copyright 2010-2014 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. */ /* * Do not modify this file. This file is generated from the dynamodb-2012-08-10.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.DynamoDBv2.Model { /// /// Represents the selection criteria for a Query or Scan operation: /// /// /// public partial class Condition { private List _attributeValueList = new List(); private ComparisonOperator _comparisonOperator; /// /// Empty constructor used to set properties independently even when a simple constructor is available /// public Condition() { } /// /// Gets and sets the property AttributeValueList. /// /// One or more values to evaluate against the supplied attribute. The number of values /// in the list depends on the ComparisonOperator being used. /// /// /// /// For type Number, value comparisons are numeric. /// /// /// /// String value comparisons for greater than, equals, or less than are based on ASCII /// character code values. For example, a is greater than A, /// and a is greater than B. For a list of code values, see /// http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. /// /// /// /// For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares /// binary values. /// /// public List AttributeValueList { get { return this._attributeValueList; } set { this._attributeValueList = value; } } // Check to see if AttributeValueList property is set internal bool IsSetAttributeValueList() { return this._attributeValueList != null && this._attributeValueList.Count > 0; } /// /// Gets and sets the property ComparisonOperator. /// /// A comparator for evaluating attributes. For example, equals, greater than, less than, /// etc. /// /// /// /// The following comparison operators are available: /// /// /// /// EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH /// | IN | BETWEEN /// /// /// /// The following are descriptions of each comparison operator. /// ///
  • /// /// EQ : Equal. EQ is supported for all data types, including /// lists and maps. /// /// /// /// AttributeValueList can contain only one AttributeValue /// element of type String, Number, Binary, String Set, Number Set, or Binary Set. If /// an item contains an AttributeValue element of a different type than the /// one provided in the request, the value does not match. For example, {"S":"6"} /// does not equal {"N":"6"}. Also, {"N":"6"} does not equal /// {"NS":["6", "2", "1"]}. /// ///
  • /// /// NE : Not equal. NE is supported for all data types, including /// lists and maps. /// /// /// /// AttributeValueList can contain only one AttributeValue /// of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item /// contains an AttributeValue of a different type than the one provided /// in the request, the value does not match. For example, {"S":"6"} does /// not equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", /// "2", "1"]}. /// ///
  • /// /// LE : Less than or equal. /// /// /// /// AttributeValueList can contain only one AttributeValue /// element of type String, Number, or Binary (not a set type). If an item contains an /// AttributeValue element of a different type than the one provided in the /// request, the value does not match. For example, {"S":"6"} does not equal /// {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", /// "2", "1"]}. /// ///
  • /// /// LT : Less than. /// /// /// /// AttributeValueList can contain only one AttributeValue /// of type String, Number, or Binary (not a set type). If an item contains an AttributeValue /// element of a different type than the one provided in the request, the value does not /// match. For example, {"S":"6"} does not equal {"N":"6"}. /// Also, {"N":"6"} does not compare to {"NS":["6", "2", "1"]}. /// ///
  • /// /// GE : Greater than or equal. /// /// /// /// AttributeValueList can contain only one AttributeValue /// element of type String, Number, or Binary (not a set type). If an item contains an /// AttributeValue element of a different type than the one provided in the /// request, the value does not match. For example, {"S":"6"} does not equal /// {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", /// "2", "1"]}. /// ///
  • /// /// GT : Greater than. /// /// /// /// AttributeValueList can contain only one AttributeValue /// element of type String, Number, or Binary (not a set type). If an item contains an /// AttributeValue element of a different type than the one provided in the /// request, the value does not match. For example, {"S":"6"} does not equal /// {"N":"6"}. Also, {"N":"6"} does not compare to {"NS":["6", /// "2", "1"]}. /// ///
  • /// /// NOT_NULL : The attribute exists. NOT_NULL is supported /// for all data types, including lists and maps. /// /// /// /// This operator tests for the existence of an attribute, not its data type. If the data /// type of attribute "a" is null, and you evaluate it using NOT_NULL, /// the result is a Boolean true. This result is because the attribute "a" /// exists; its data type is not relevant to the NOT_NULL comparison operator. /// ///
  • /// /// NULL : The attribute does not exist. NULL is supported /// for all data types, including lists and maps. /// /// /// /// This operator tests for the nonexistence of an attribute, not its data type. If the /// data type of attribute "a" is null, and you evaluate it using NULL, /// the result is a Boolean false. This is because the attribute "a" /// exists; its data type is not relevant to the NULL comparison operator. /// ///
  • /// /// CONTAINS : Checks for a subsequence, or value in a set. /// /// /// /// AttributeValueList can contain only one AttributeValue /// element of type String, Number, or Binary (not a set type). If the target attribute /// of the comparison is of type String, then the operator checks for a substring match. /// If the target attribute of the comparison is of type Binary, then the operator looks /// for a subsequence of the target that matches the input. If the target attribute of /// the comparison is a set ("SS", "NS", or "BS"), /// then the operator evaluates to true if it finds an exact match with any member of /// the set. /// /// /// /// CONTAINS is supported for lists: When evaluating "a CONTAINS b", "a" /// can be a list; however, "b" cannot be a set, a map, or a list. /// ///
  • /// /// NOT_CONTAINS : Checks for absence of a subsequence, or absence of a /// value in a set. /// /// /// /// AttributeValueList can contain only one AttributeValue /// element of type String, Number, or Binary (not a set type). If the target attribute /// of the comparison is a String, then the operator checks for the absence of a substring /// match. If the target attribute of the comparison is Binary, then the operator checks /// for the absence of a subsequence of the target that matches the input. If the target /// attribute of the comparison is a set ("SS", "NS", or "BS"), /// then the operator evaluates to true if it does not find an exact match with /// any member of the set. /// /// /// /// NOT_CONTAINS is supported for lists: When evaluating "a NOT CONTAINS b", /// "a" can be a list; however, "b" cannot be a set, a map, /// or a list. /// ///
  • /// /// BEGINS_WITH : Checks for a prefix. /// /// /// /// AttributeValueList can contain only one AttributeValue /// of type String or Binary (not a Number or a set type). The target attribute of the /// comparison must be of type String or Binary (not a Number or a set type). /// ///
  • /// /// IN : Checks for matching elements in a list. /// /// /// /// AttributeValueList can contain one or more AttributeValue /// elements of type String, Number, or Binary. These attributes are compared against /// an existing attribute of an item. If any elements of the input are equal to the item /// attribute, the expression evaluates to true. /// ///
  • /// /// BETWEEN : Greater than or equal to the first value, and less than or /// equal to the second value. /// /// /// /// AttributeValueList must contain two AttributeValue elements /// of the same type, either String, Number, or Binary (not a set type). A target attribute /// matches if the target value is greater than, or equal to, the first element and less /// than, or equal to, the second element. If an item contains an AttributeValue /// element of a different type than the one provided in the request, the value does not /// match. For example, {"S":"6"} does not compare to {"N":"6"}. /// Also, {"N":"6"} does not compare to {"NS":["6", "2", "1"]} /// /// ///
/// /// For usage examples of AttributeValueList and ComparisonOperator, /// see Legacy /// Conditional Parameters in the Amazon DynamoDB Developer Guide. /// ///
[AWSProperty(Required=true)] public ComparisonOperator ComparisonOperator { get { return this._comparisonOperator; } set { this._comparisonOperator = value; } } // Check to see if ComparisonOperator property is set internal bool IsSetComparisonOperator() { return this._comparisonOperator != null; } } }