All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.amazonaws.services.dynamodbv2.document.internal.InternalUtils Maven / Gradle / Ivy
/*
* Copyright 2014-2022 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.internal;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.services.dynamodbv2.document.AttributeUpdate;
import com.amazonaws.services.dynamodbv2.document.Expected;
import com.amazonaws.services.dynamodbv2.document.Item;
import com.amazonaws.services.dynamodbv2.document.ItemUtils;
import com.amazonaws.services.dynamodbv2.document.KeyAttribute;
import com.amazonaws.services.dynamodbv2.document.PrimaryKey;
import com.amazonaws.services.dynamodbv2.model.AttributeValue;
import com.amazonaws.services.dynamodbv2.model.AttributeValueUpdate;
import com.amazonaws.services.dynamodbv2.model.Condition;
import com.amazonaws.services.dynamodbv2.model.ExpectedAttributeValue;
import com.amazonaws.util.ValidationUtils;
import com.amazonaws.util.VersionInfoUtils;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* Internal utilities. Not meant for general use. May change without notice.
*
* @deprecated Use {@link ItemUtils} instead.
*/
@Deprecated
public enum InternalUtils {
;
/**
* Returns a non-null list of Item
's given the low level
* list of item information.
*/
public static List- toItemList(List
> items) {
return ItemUtils.toItemList(items);
}
/**
* Converts an Item
into the low-level representation;
* or null if the input is null.
*/
public static Map toAttributeValues(Item item) {
return ItemUtils.toAttributeValues(item);
}
/**
* Converts a map of string to simple objects into the low-level
* representation; or null if the input is null.
*/
public static Map fromSimpleMap(
Map map) {
return ItemUtils.fromSimpleMap(map);
}
/**
* Converts a list of AttributeUpdate
into the low-level
* representation; or null if the input is null.
*/
public static Map toAttributeValueUpdate(
List attributesToUpdate) {
return ItemUtils.toAttributeValueUpdate(attributesToUpdate);
}
/**
* Converts a simple value into the low-level
* representation.
*
* @param value the given value which can be one of the followings:
*
* String
* Set<String>
* Number (including any subtypes and primitive types)
* Set<Number>
* byte[]
* Set<byte[]>
* ByteBuffer
* Set<ByteBuffer>
* Boolean or boolean
* null
* Map<String,T>, where T can be any type on this list but must not
* induce any circular reference
* List<T>, where T can be any type on this list but must not induce
* any circular reference
*
* @return a non-null low level representation of the input object value
* @throws UnsupportedOperationException if the input object type is not supported
*/
public static AttributeValue toAttributeValue(Object value) {
return ItemUtils.toAttributeValue(value);
}
/**
* Converts a list of low-level AttributeValue
into a list of
* simple values. Each value in the returned list can be one of the
* followings:
*
*
* String
* Set<String>
* Number (including any subtypes and primitive types)
* Set<Number>
* byte[]
* Set<byte[]>
* ByteBuffer
* Set<ByteBuffer>
* Boolean or boolean
* null
* Map<String,T>, where T can be any type on this list but must not
* induce any circular reference
* List<T>, where T can be any type on this list but must not induce
* any circular reference
*
*/
public static List toSimpleList(List attrValues) {
return ItemUtils.toSimpleList(attrValues);
}
/**
* Convenient method to convert a list of low-level
* AttributeValue
into a list of values of the same type T.
* Each value in the returned list can be one of the followings:
*
* String
* Set<String>
* Number (including any subtypes and primitive types)
* Set<Number>
* byte[]
* Set<byte[]>
* ByteBuffer
* Set<ByteBuffer>
* Boolean or boolean
* null
* Map<String,T>, where T can be any type on this list but must not
* induce any circular reference
* List<T>, where T can be any type on this list but must not induce
* any circular reference
*
*/
public static List toSimpleListValue(List values) {
return ItemUtils.toSimpleListValue(values);
}
public static Map toSimpleMapValue(
Map values) {
return ItemUtils.toSimpleMapValue(values);
}
/**
* Returns the string representation of the given value; or null if the
* value is null. For BigDecimal
it will be the string
* representation without an exponent field.
*/
public static String valToString(Object val) {
return ItemUtils.valToString(val);
}
/**
* Converts a low-level AttributeValue
into a simple value,
* which can be one of the followings:
*
*
* String
* Set<String>
* Number (including any subtypes and primitive types)
* Set<Number>
* byte[]
* Set<byte[]>
* ByteBuffer
* Set<ByteBuffer>
* Boolean or boolean
* null
* Map<String,T>, where T can be any type on this list but must not
* induce any circular reference
* List<T>, where T can be any type on this list but must not induce
* any circular reference
*
*
* @throws IllegalArgumentException if an empty AttributeValue
value is specified
*/
static T toSimpleValue(AttributeValue value) {
return ItemUtils.toSimpleValue(value);
}
/**
* Returns the minimum of the two input integers taking null into account.
* Returns null if both integers are null. Otherwise, a null Integer is
* treated as infinity.
*/
public static Integer minimum(Integer one, Integer two) {
return ItemUtils.minimum(one, two);
}
/**
* Returns the low level representation of a collection of Expected
.
*/
public static Map toExpectedAttributeValueMap(
Collection expectedSet) {
return ItemUtils.toExpectedAttributeValueMap(expectedSet);
}
/**
* Returns the low level representation of a collection of Filter
.
*/
public static Map toAttributeConditionMap(Collection> filters) {
return ItemUtils.toAttributeConditionMap(filters);
}
/**
* Converts the input array of values into an array of low level
* representation of those values.
*
* A value in the input array can be one of the followings:
*
*
* String
* Set<String>
* Number (including any subtypes and primitive types)
* Set<Number>
* byte[]
* Set<byte[]>
* ByteBuffer
* Set<ByteBuffer>
* Boolean or boolean
* null
* Map<String,T>, where T can be any type on this list but must not
* induce any circular reference
* List<T>, where T can be any type on this list but must not induce
* any circular reference
*
*/
public static AttributeValue[] toAttributeValues(Object[] values) {
return ItemUtils.toAttributeValues(values);
}
/**
* Converts the specified primary key into the low-level representation.
*/
public static Map toAttributeValueMap(
Collection primaryKey) {
return ItemUtils.toAttributeValueMap(primaryKey);
}
/**
* Converts the specified primary key into the low-level representation.
*/
public static Map toAttributeValueMap(
PrimaryKey primaryKey) {
return ItemUtils.toAttributeValueMap(primaryKey);
}
/**
* Converts the specified primary key into the low-level representation.
*/
public static Map toAttributeValueMap(
KeyAttribute... primaryKey) {
return ItemUtils.toAttributeValueMap(primaryKey);
}
/**
* Converts a number into BigDecimal representation.
*/
public static BigDecimal toBigDecimal(Number n) {
return ItemUtils.toBigDecimal(n);
}
public static Set toBigDecimalSet(Number... val) {
return ItemUtils.toBigDecimalSet(val);
}
public static Set toBigDecimalSet(Set vals) {
return ItemUtils.toBigDecimalSet(vals);
}
/**
* Append the custom user-agent string.
* Note to maintainers, this is technically not deprecated and not present in {@link ItemUtils}. It is truly meant for
* internal use only.
*/
public static X applyUserAgent(X request) {
final String USER_AGENT = "dynamodb-table-api/" + VersionInfoUtils.getVersion();
request.getRequestClientOptions().appendUserAgent(USER_AGENT);
return request;
}
public static void rejectNullValue(Object val) {
ValidationUtils.assertNotNull(val, "val");
}
public static void rejectNullInput(Object input) {
ValidationUtils.assertNotNull(input, "val");
}
public static void rejectEmptyInput(Object[] input) {
ValidationUtils.assertNotEmpty(input, "input");
}
public static void rejectNullOrEmptyInput(Object[] input) {
rejectNullInput(input);
rejectEmptyInput(input);
}
public static void checkInvalidAttrName(String attrName) {
ItemUtils.checkInvalidAttrName(attrName);
}
public static void checkInvalidAttribute(String attrName, Object val) {
ItemUtils.checkInvalidAttribute(attrName, val);
}
}