Class Utils
- java.lang.Object
-
- com.amazonaws.encryptionsdk.internal.Utils
-
public final class Utils extends Object
Internal utility methods.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classUtils.ComparingByteArraysComparator that performs a lexicographical comparison of byte arrays, treating them as unsigned.static classUtils.ComparingByteBuffers
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> TassertNonNull(T object, String paramName)static ByteBufferclear(ByteBuffer buff)Equivalent to callingByteBuffer.clear()but in a manner which is safe when compiled on Java 9 or newer but used on Java 8 or older.static intcompareObjectIdentity(Object a, Object b)Provides an arbitrary but consistent total ordering over all objects.static byte[]decodeBase64String(String encoded)Takes a Base64-encoded String, decodes it, and returns contents as a byte array.static StringencodeBase64String(byte[] data)Takes data in a byte array, encodes them in Base64, and returns the result as a String.static ByteBufferflip(ByteBuffer buff)Equivalent to callingByteBuffer.flip()but in a manner which is safe when compiled on Java 9 or newer but used on Java 8 or older.static SecureRandomgetSecureRandom()static ByteBufferlimit(ByteBuffer buff, int newLimit)Equivalent to callingByteBuffer.limit(int)but in a manner which is safe when compiled on Java 9 or newer but used on Java 8 or older.static ByteBufferposition(ByteBuffer buff, int newPosition)Equivalent to callingByteBuffer.position(int)but in a manner which is safe when compiled on Java 9 or newer but used on Java 8 or older.static longsaturatingAdd(long a, long b)static byte[]truncate(byte[] arr, int len)Returns a possibly truncated version ofarrwhich is guaranteed to be exactlylenelements long.
-
-
-
Method Detail
-
compareObjectIdentity
public static int compareObjectIdentity(Object a, Object b)
Provides an arbitrary but consistent total ordering over all objects. This comparison function will return 0 if and only if a == b, and otherwise will return arbitrarily either -1 or 1, but will do so in a way that results in a consistent total order.- Parameters:
a-b-- Returns:
- -1 or 1 (consistently) if a != b; 0 if a == b.
-
saturatingAdd
public static long saturatingAdd(long a, long b)
-
assertNonNull
public static <T> T assertNonNull(T object, String paramName) throws NullPointerException- Parameters:
object- value to be null-checkedparamName- message for the potentialNullPointerException- Returns:
object- Throws:
NullPointerException- ifobjectis null
-
truncate
public static byte[] truncate(byte[] arr, int len) throws IllegalArgumentExceptionReturns a possibly truncated version ofarrwhich is guaranteed to be exactlylenelements long. Ifarris already exactlylenelements long, thenarris returned without copy or modification. Ifarris longer thanlen, then a truncated copy is returned. Ifarris shorter thanlenthen this throws anIllegalArgumentException.- Throws:
IllegalArgumentException
-
getSecureRandom
public static SecureRandom getSecureRandom()
-
flip
public static ByteBuffer flip(ByteBuffer buff)
Equivalent to callingByteBuffer.flip()but in a manner which is safe when compiled on Java 9 or newer but used on Java 8 or older.
-
clear
public static ByteBuffer clear(ByteBuffer buff)
Equivalent to callingByteBuffer.clear()but in a manner which is safe when compiled on Java 9 or newer but used on Java 8 or older.
-
position
public static ByteBuffer position(ByteBuffer buff, int newPosition)
Equivalent to callingByteBuffer.position(int)but in a manner which is safe when compiled on Java 9 or newer but used on Java 8 or older.
-
limit
public static ByteBuffer limit(ByteBuffer buff, int newLimit)
Equivalent to callingByteBuffer.limit(int)but in a manner which is safe when compiled on Java 9 or newer but used on Java 8 or older.
-
decodeBase64String
public static byte[] decodeBase64String(String encoded)
Takes a Base64-encoded String, decodes it, and returns contents as a byte array.- Parameters:
encoded- Base64 encoded String- Returns:
- decoded data as a byte array
-
encodeBase64String
public static String encodeBase64String(byte[] data)
Takes data in a byte array, encodes them in Base64, and returns the result as a String.- Parameters:
data- The data to encode.- Returns:
- Base64 string that encodes the
data.
-
-