com.amazonaws.services.simpledb.util
Class SimpleDBUtils

java.lang.Object
  extended by com.amazonaws.services.simpledb.util.SimpleDBUtils

public class SimpleDBUtils
extends Object

Provides collection of static functions for conversion of various values into strings that may be compared lexicographically.


Constructor Summary
SimpleDBUtils()
           
 
Method Summary
static Date decodeDate(String value)
          Decodes date value from the string representation created using encodeDate(..) function.
static float decodeRealNumberRangeFloat(String value, int maxDigitsRight, int offsetValue)
          Decodes float value from the string representation that was created by using encodeRealNumberRange(..) function.
static int decodeRealNumberRangeInt(String value, int offsetValue)
          Decodes integer value from the string representation that was created by using encodeRealNumberRange(..) function.
static long decodeRealNumberRangeLong(String value, long offsetValue)
          Decodes a long value from the string representation that was created by using encodeRealNumberRange(..) function.
static float decodeZeroPaddingFloat(String value)
          Decodes zero-padded positive float value from the string representation
static int decodeZeroPaddingInt(String value)
          Decodes zero-padded positive integer value from the string representation
static long decodeZeroPaddingLong(String value)
          Decodes a zero-padded positive long value from the string representation
static String encodeDate(Date date)
          Encodes date value into string format that can be compared lexicographically
static String encodeRealNumberRange(float number, int maxDigitsLeft, int maxDigitsRight, int offsetValue)
          Encodes real float value into a string by offsetting and zero-padding number up to the specified number of digits.
static String encodeRealNumberRange(int number, int maxNumDigits, int offsetValue)
          Encodes real integer value into a string by offsetting and zero-padding number up to the specified number of digits.
static String encodeRealNumberRange(long number, int maxNumDigits, long offsetValue)
          Encodes a positive or negative long value into a string by offsetting and zero-padding the number up to the specified number of digits.
static String encodeZeroPadding(float number, int maxNumDigits)
          Encodes positive float value into a string by zero-padding number up to the specified number of digits
static String encodeZeroPadding(int number, int maxNumDigits)
          Encodes positive integer value into a string by zero-padding number up to the specified number of digits.
static String encodeZeroPadding(long number, int maxNumDigits)
          Encodes positive long value into a string by zero-padding the value up to the specified number of digits.
static String quoteName(String name)
          Quotes and escapes an attribute name or domain name by wrapping it with backticks and escaping any backticks inside the name.
static String quoteValue(String value)
          Quotes and escapes an attribute value by wrapping it with single quotes and escaping any single quotes inside the value.
static String quoteValues(Collection<String> values)
          Quotes and escapes a list of values so that they can be used in a SimpleDB query.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleDBUtils

public SimpleDBUtils()
Method Detail

encodeZeroPadding

public static String encodeZeroPadding(int number,
                                       int maxNumDigits)
Encodes positive integer value into a string by zero-padding number up to the specified number of digits.

Parameters:
number - positive integer to be encoded
maxNumDigits - maximum number of digits in the largest value in the data set
Returns:
string representation of the zero-padded integer

encodeZeroPadding

public static String encodeZeroPadding(long number,
                                       int maxNumDigits)
Encodes positive long value into a string by zero-padding the value up to the specified number of digits.

Parameters:
number - positive long to be encoded
maxNumDigits - maximum number of digits in the largest value in the data set
Returns:
string representation of the zero-padded long

encodeZeroPadding

public static String encodeZeroPadding(float number,
                                       int maxNumDigits)
Encodes positive float value into a string by zero-padding number up to the specified number of digits

Parameters:
number - positive float value to be encoded
maxNumDigits - maximum number of digits preceding the decimal point in the largest value in the data set
Returns:
string representation of the zero-padded float value

decodeZeroPaddingInt

public static int decodeZeroPaddingInt(String value)
Decodes zero-padded positive integer value from the string representation

Parameters:
value - zero-padded string representation of the integer
Returns:
original integer value

decodeZeroPaddingLong

public static long decodeZeroPaddingLong(String value)
Decodes a zero-padded positive long value from the string representation

Parameters:
value - zero-padded string representation of the long
Returns:
original long value

decodeZeroPaddingFloat

public static float decodeZeroPaddingFloat(String value)
Decodes zero-padded positive float value from the string representation

Parameters:
value - zero-padded string representation of the float value
Returns:
original float value

encodeRealNumberRange

public static String encodeRealNumberRange(int number,
                                           int maxNumDigits,
                                           int offsetValue)
Encodes real integer value into a string by offsetting and zero-padding number up to the specified number of digits. Use this encoding method if the data range set includes both positive and negative values.

Parameters:
number - integer to be encoded
maxNumDigits - maximum number of digits in the largest absolute value in the data set
offsetValue - offset value, has to be greater than absolute value of any negative number in the data set.
Returns:
string representation of the integer

encodeRealNumberRange

public static String encodeRealNumberRange(long number,
                                           int maxNumDigits,
                                           long offsetValue)
Encodes a positive or negative long value into a string by offsetting and zero-padding the number up to the specified number of digits. Use this encoding method if the data set includes both positive and negative values.

Parameters:
number - positive or negative long value to be encoded
maxNumDigits - maximum number of digits in the largest absolute value in the data set
offsetValue - offset value, has to be greater than absolute value of any negative number in the data set.
Returns:
string representation of the long

encodeRealNumberRange

public static String encodeRealNumberRange(float number,
                                           int maxDigitsLeft,
                                           int maxDigitsRight,
                                           int offsetValue)
Encodes real float value into a string by offsetting and zero-padding number up to the specified number of digits. Use this encoding method if the data range set includes both positive and negative values.

Parameters:
number - float to be encoded
maxDigitsLeft - maximum number of digits left of the decimal point in the largest absolute value in the data set
maxDigitsRight - maximum number of digits right of the decimal point in the largest absolute value in the data set, i.e. precision
offsetValue - offset value, has to be greater than absolute value of any negative number in the data set.
Returns:
string representation of the integer

decodeRealNumberRangeInt

public static int decodeRealNumberRangeInt(String value,
                                           int offsetValue)
Decodes integer value from the string representation that was created by using encodeRealNumberRange(..) function.

Parameters:
value - string representation of the integer value
offsetValue - offset value that was used in the original encoding
Returns:
original integer value

decodeRealNumberRangeLong

public static long decodeRealNumberRangeLong(String value,
                                             long offsetValue)
Decodes a long value from the string representation that was created by using encodeRealNumberRange(..) function.

Parameters:
value - string representation of the long value
offsetValue - offset value that was used in the original encoding
Returns:
original long value

decodeRealNumberRangeFloat

public static float decodeRealNumberRangeFloat(String value,
                                               int maxDigitsRight,
                                               int offsetValue)
Decodes float value from the string representation that was created by using encodeRealNumberRange(..) function.

Parameters:
value - string representation of the integer value
maxDigitsRight - maximum number of digits left of the decimal point in the largest absolute value in the data set (must be the same as the one used for encoding).
offsetValue - offset value that was used in the original encoding
Returns:
original float value

encodeDate

public static String encodeDate(Date date)
Encodes date value into string format that can be compared lexicographically

Parameters:
date - date value to be encoded
Returns:
string representation of the date value

decodeDate

public static Date decodeDate(String value)
                       throws ParseException
Decodes date value from the string representation created using encodeDate(..) function.

Parameters:
value - string representation of the date value
Returns:
original date value
Throws:
ParseException

quoteValues

public static String quoteValues(Collection<String> values)
Quotes and escapes a list of values so that they can be used in a SimpleDB query.

Parameters:
values - The collection of attribute values that will be quoted, escaped, and included in the returned string list.
Returns:
A string representation of the list of specified values, with individual values properly quoted and escaped.

quoteValue

public static String quoteValue(String value)
Quotes and escapes an attribute value by wrapping it with single quotes and escaping any single quotes inside the value.

Parameters:
value - The attribute value to quote and escape.
Returns:
The properly quoted and escaped attribute value, ready to be used in a SimpleDB select query.

quoteName

public static String quoteName(String name)
Quotes and escapes an attribute name or domain name by wrapping it with backticks and escaping any backticks inside the name.

Parameters:
name - The attribute name or domain name to quote and escape.
Returns:
The properly quoted and escaped attribute name or domain name, ready to be used in a SimpleDB select query.


Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.