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

com.amazonaws.services.dynamodbv2.xspec.S 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 2015-2016 Amazon Technologies, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 *
 *    http://aws.amazon.com/apache2.0
 *
 * 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.xspec;

import java.util.LinkedList;
import java.util.List;

import org.apache.http.annotation.Immutable;

import com.amazonaws.annotation.Beta;

/**
 * A path operand that refers to a string attribute in DynamoDB; used for building expressions.
 * 

* Use {@link ExpressionSpecBuilder#S(String)} to instantiate this class. */ @Beta @Immutable public final class S extends PathOperand { S(String path) { super(path); } /** * Returns a function condition (that evaluates to true if the value of the * current attribute begins with the specified operand) for building * condition expression. */ public FunctionCondition beginsWith(String value) { return new FunctionCondition("begins_with", this, new LiteralOperand(value)); } /** * Returns a function condition (that evaluates to true if the value of the * current attribute contains the specified substring) for building * condition expression. */ public FunctionCondition contains(String substring) { return new FunctionCondition("contains", this, new LiteralOperand(substring)); } /** * Returns a comparator condition (that evaluates to true if the value of the current * attribute is equal to that of the specified attribute) for building * condition expression. */ public ComparatorCondition eq(S that) { return new ComparatorCondition("=", this, that); } /** * Returns a comparator condition (that evaluates to true if the value of the current * attribute is not equal to that of the specified attribute) for building * condition expression. */ public ComparatorCondition ne(S that) { return new ComparatorCondition("<>", this, that); } /** * Returns a comparator condition (that evaluates to true if the value of the current * attribute is less than or equal to the specified value) for building * condition expression. */ public ComparatorCondition le(String value) { return new ComparatorCondition("<=", this, new LiteralOperand(value)); } /** * Returns a comparator condition (that evaluates to true if the value of the current * attribute is less than or equal to that of the specified attribute) for building * condition expression. */ public ComparatorCondition le(S that) { return new ComparatorCondition("<=", this, that); } /** * Returns a comparator condition (that evaluates to true if the value of the current * attribute is less than the specified value) for building * condition expression. */ public ComparatorCondition lt(String value) { return new ComparatorCondition("<", this, new LiteralOperand(value)); } /** * Returns a comparator condition (that evaluates to true if the value of the current * attribute is less than that of the specified attribute) for building * condition expression. */ public ComparatorCondition lt(S that) { return new ComparatorCondition("<", this, that); } /** * Returns a comparator condition (that evaluates to true if the value of the current * attribute is greater than or equal to the specified value) for building * condition expression. */ public ComparatorCondition ge(String value) { return new ComparatorCondition(">=", this, new LiteralOperand(value)); } /** * Returns a comparator condition (that evaluates to true if the value of the current * attribute is greater than or equal to that of the specified attribute) for building * condition expression. */ public ComparatorCondition ge(S that) { return new ComparatorCondition(">=", this, that); } /** * Returns a comparator condition (that evaluates to true if the value of the current * attribute is greater than the specified value) for building * condition expression. */ public ComparatorCondition gt(String value) { return new ComparatorCondition(">", this, new LiteralOperand(value)); } /** * Returns a comparator condition (that evaluates to true if the value of the current * attribute is greater than that of the specified attribute) for building * condition expression. */ public ComparatorCondition gt(S that) { return new ComparatorCondition(">", this, that); } /** * Returns a BetweenCondition that represents a BETWEEN comparison (that evaluates to true if the value of the * current attribute is greater than or equal to the given low value, and * less than or equal to the given high value) for building condition * expression. */ public BetweenCondition between(String low, String high) { return new BetweenCondition(this, new LiteralOperand(low), new LiteralOperand(high)); } /** * Returns an IfNotExists object which represents an if_not_exists(path, operand) function call where path refers to that * of the current attribute; used for building expressions. * *

     * "if_not_exists (path, operand) – If the item does not contain an attribute
     * at the specified path, then if_not_exists evaluates to operand; otherwise,
     * it evaluates to path. You can use this function to avoid overwriting an
     * attribute already present in the item."
     * 
* * @param defaultValue * the default value that will be used as the operand to the * if_not_exists function call. */ public IfNotExistsFunction ifNotExists(S defaultValue) { return ExpressionSpecBuilder.if_not_exists(this, defaultValue); } /** * Returns an InCondition (that evaluates to true if the value of the current * attribute is equal to any of the specified values) for building condition * expression. * * @param values * specified values. The number of values must be at least one * and at most 100. */ public final InCondition in(String... values) { List list = new LinkedList(); for (String v: values) list.add(new LiteralOperand(v)); return new InCondition(this, list); } /** * Returns an InCondition (that evaluates to true if the value of the current * attribute is equal to any of the values in the specified list) for * building condition expression. * * @param values * specified list of values. The number of values must be at * least one and at most 100. */ public final InCondition in(List values) { List list = new LinkedList(); for (String v: values) list.add(new LiteralOperand(v)); return new InCondition(this, list); } /** * Returns a SetAction object used for building update * expression. If the attribute referred to by this path operand doesn't * exist, the returned object represents adding the attribute value of the * specified source path operand to an item. If the current attribute * already exists, the returned object represents the value replacement of * the current attribute by the attribute value of the specified source path * operand. */ public SetAction set(S source) { return new SetAction(this, source); } /** * Returns a SetAction object used for building update * expression. If the attribute referred to by this path operand doesn't * exist, the returned object represents adding the specified value as an * attribute to an item. If the attribute referred to by this path operand * already exists, the returned object represents the value replacement of * the current attribute by the specified value. */ public SetAction set(String value) { return new SetAction(this, new LiteralOperand(value)); } /** * Returns a SetAction object used for building update * expression. If the attribute referred to by this path operand doesn't * exist, the returned object represents adding the value of evaluating the * specified IfNotExists function as an attribute to an item. * If the attribute referred to by this path operand already exists, the * returned object represents the value replacement of the current attribute * by the value of evaluating the specified IfNotExists * function. */ public SetAction set(IfNotExistsFunction ifNotExistsFunction) { return new SetAction(this, ifNotExistsFunction); } /** * Returns a comparator condition (that evaluates to true if the attribute value * referred to by this path operand is equal to the specified value) for * building condition expression. */ public ComparatorCondition eq(String value) { return new ComparatorCondition("=", this, new LiteralOperand(value)); } /** * Returns a comparator condition (that evaluates to true if the attribute value * referred to by this path operand is not equal to that of the specified * path operand) for building condition expression. */ public ComparatorCondition ne(String value) { return new ComparatorCondition("<>", this, new LiteralOperand(value)); } /** * Returns an IfNotExists object which represents an if_not_exists(path, operand) function call where path refers to that * of the current path operand; used for building expressions. * *
     * "if_not_exists (path, operand) – If the item does not contain an attribute
     * at the specified path, then if_not_exists evaluates to operand; otherwise,
     * it evaluates to path. You can use this function to avoid overwriting an
     * attribute already present in the item."
     * 
* * @param defaultValue * the default value that will be used as the operand to the * if_not_exists function call. */ public IfNotExistsFunction ifNotExists(String defaultValue) { return new IfNotExistsFunction(this, new LiteralOperand(defaultValue)); } }