com.amazonaws.services.dynamodbv2.document.utils.ValueMap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-java-sdk-dynamodb Show documentation
Show all versions of aws-java-sdk-dynamodb Show documentation
The AWS Java SDK for Amazon DynamoDB module holds the client classes that are used for communicating with Amazon DynamoDB Service
/*
* Copyright 2014-2023 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.document.utils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.amazonaws.services.dynamodbv2.document.internal.InternalUtils;
import com.amazonaws.services.dynamodbv2.document.internal.ItemValueConformer;
import com.amazonaws.util.json.Jackson;
/**
* Utility class for value maps.
*/
public class ValueMap extends FluentHashMap {
private static final long serialVersionUID = 1L;
private static final ItemValueConformer valueConformer = new ItemValueConformer();
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withString(String key, String val) {
super.put(key, val);
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withNumber(String key, BigDecimal val) {
super.put(key, val);
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withNumber(String key, Number val) {
super.put(key, InternalUtils.toBigDecimal(val));
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withInt(String key, int val) {
return withNumber(key, Integer.valueOf(val));
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withLong(String key, long val) {
return withNumber(key, Long.valueOf(val));
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withBinary(String key, byte[] val) {
super.put(key, val);
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withStringSet(String key, Set val) {
super.put(key, val);
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withStringSet(String key, String ...val) {
super.put(key, new LinkedHashSet(Arrays.asList(val)));
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withNumberSet(String key, Set val) {
super.put(key, val);
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withNumberSet(String key, BigDecimal ... val) {
super.put(key, new LinkedHashSet(Arrays.asList(val)));
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withNumberSet(String key, Number ... val) {
super.put(key, InternalUtils.toBigDecimalSet(val));
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withBinarySet(String key, Set val) {
super.put(key, val);
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withBinarySet(String key, byte[] ... val) {
super.put(key, new LinkedHashSet(Arrays.asList(val)));
return this;
}
/**
* Sets the value of the specified key in the current ValueMap to the
* given value.
*/
public ValueMap withList(String key, List> val) {
super.put(key, val == null ? null : new ArrayList