Package org.ldaptive
Class LdapUtils
- java.lang.Object
-
- org.ldaptive.LdapUtils
-
public final class LdapUtils extends java.lang.Object
Provides utility methods for this package.- Author:
- Middleware Services
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
areEqual(java.lang.Object o1, java.lang.Object o2)
Determines equality of the supplied objects.static byte[]
base64Decode(java.lang.String value)
This will decode the supplied value as a base64 encoded string to a byte[].static java.lang.String
base64Encode(byte... value)
This will convert the supplied value to a base64 encoded string.static java.lang.String
base64Encode(java.lang.String value)
This will convert the supplied value to a base64 encoded string.static int
computeHashCode(int seed, java.lang.Object... objects)
Computes a hash code for the supplied objects using the supplied seed.static <T> T[]
concatArrays(T[] first, T[]... rest)
Concatenates multiple arrays together.static java.lang.reflect.Constructor<?>
createConstructorFromProperty(java.lang.String property)
Looks for the supplied system property value and loads a class with that name.static byte[]
hexDecode(char[] value)
This will decode the supplied value as a hex encoded string to a byte[].static char[]
hexEncode(byte... value)
This will convert the supplied value to a hex encoded string.static char[]
hexEncode(char... value)
This will convert the supplied value to a hex encoded string.static boolean
isIPAddress(java.lang.String s)
Returns whether the supplied string represents an IP address.static java.lang.String
percentDecode(java.lang.String value)
Implementation of percent decoding as described in RFC 3986 section 2.1.static java.lang.String
percentEncode(java.lang.String value)
Implementation of percent encoding as described in RFC 3986 section 2.1.static java.lang.String
percentEncodeControlChars(java.lang.String value)
Converts all characters <= 0x1F and 0x7F to percent encoded hex.static byte[]
readInputStream(java.io.InputStream is)
Reads the data in the supplied stream and returns it as a byte array.static boolean
shouldBase64Encode(byte[] value)
Determines whether the supplied value should be base64 encoded.static boolean
shouldBase64Encode(java.lang.String value)
static java.lang.String
utf8Encode(byte[] value)
This will convert the supplied value to a UTF-8 encoded string.static java.lang.String
utf8Encode(byte[] value, boolean allowNull)
This will convert the supplied value to a UTF-8 encoded string.static byte[]
utf8Encode(java.lang.String value)
This will convert the supplied value to a UTF-8 encoded byte array.static byte[]
utf8Encode(java.lang.String value, boolean allowNull)
This will convert the supplied value to a UTF-8 encoded byte array.
-
-
-
Method Detail
-
base64Encode
public static java.lang.String base64Encode(byte... value)
This will convert the supplied value to a base64 encoded string. Returns null if the supplied byte array is null.- Parameters:
value
- to base64 encode- Returns:
- base64 encoded value
-
base64Encode
public static java.lang.String base64Encode(java.lang.String value)
This will convert the supplied value to a base64 encoded string. Returns null if the supplied string is null.- Parameters:
value
- to base64 encode- Returns:
- base64 encoded value
-
utf8Encode
public static java.lang.String utf8Encode(byte[] value)
This will convert the supplied value to a UTF-8 encoded string. Returns null if the supplied byte array is null.- Parameters:
value
- to UTF-8 encode- Returns:
- UTF-8 encoded value
-
utf8Encode
public static java.lang.String utf8Encode(byte[] value, boolean allowNull)
This will convert the supplied value to a UTF-8 encoded string.- Parameters:
value
- to UTF-8 encodeallowNull
- whether to throwNullPointerException
if value is null- Returns:
- UTF-8 encoded value
- Throws:
java.lang.NullPointerException
- if allowNull is false and value is null
-
utf8Encode
public static byte[] utf8Encode(java.lang.String value)
This will convert the supplied value to a UTF-8 encoded byte array. Returns null if the supplied string is null.- Parameters:
value
- to UTF-8 encode- Returns:
- UTF-8 encoded value
-
utf8Encode
public static byte[] utf8Encode(java.lang.String value, boolean allowNull)
This will convert the supplied value to a UTF-8 encoded byte array.- Parameters:
value
- to UTF-8 encodeallowNull
- whether to throwNullPointerException
if value is null- Returns:
- UTF-8 encoded value
- Throws:
java.lang.NullPointerException
- if allowNull is false and value is null
-
hexEncode
public static char[] hexEncode(byte... value)
This will convert the supplied value to a hex encoded string. Returns null if the supplied byte array is null.- Parameters:
value
- to hex encode- Returns:
- hex encoded value
-
hexEncode
public static char[] hexEncode(char... value)
This will convert the supplied value to a hex encoded string. Returns null if the supplied char array is null.- Parameters:
value
- to hex encode- Returns:
- hex encoded value
-
percentEncode
public static java.lang.String percentEncode(java.lang.String value)
Implementation of percent encoding as described in RFC 3986 section 2.1.- Parameters:
value
- to encode- Returns:
- percent encoded value
-
percentEncodeControlChars
public static java.lang.String percentEncodeControlChars(java.lang.String value)
Converts all characters <= 0x1F and 0x7F to percent encoded hex.- Parameters:
value
- to encode control characters in- Returns:
- string with percent encoded hex characters
-
base64Decode
public static byte[] base64Decode(java.lang.String value)
This will decode the supplied value as a base64 encoded string to a byte[]. Returns null if the supplied string is null.- Parameters:
value
- to base64 decode- Returns:
- base64 decoded value
-
hexDecode
public static byte[] hexDecode(char[] value)
This will decode the supplied value as a hex encoded string to a byte[]. Returns null if the supplied character array is null.- Parameters:
value
- to hex decode- Returns:
- hex decoded value
-
percentDecode
public static java.lang.String percentDecode(java.lang.String value)
Implementation of percent decoding as described in RFC 3986 section 2.1.- Parameters:
value
- to decode- Returns:
- percent decoded value
-
shouldBase64Encode
public static boolean shouldBase64Encode(java.lang.String value)
- Parameters:
value
- to inspect- Returns:
- whether the value should be base64 encoded
-
shouldBase64Encode
public static boolean shouldBase64Encode(byte[] value)
Determines whether the supplied value should be base64 encoded. See http://www.faqs.org/rfcs/rfc2849.html for more details.- Parameters:
value
- to inspect- Returns:
- whether the value should be base64 encoded
-
readInputStream
public static byte[] readInputStream(java.io.InputStream is) throws java.io.IOException
Reads the data in the supplied stream and returns it as a byte array.- Parameters:
is
- stream to read- Returns:
- bytes read from the stream
- Throws:
java.io.IOException
- if an error occurs reading data
-
concatArrays
public static <T> T[] concatArrays(T[] first, T[]... rest)
Concatenates multiple arrays together.- Type Parameters:
T
- type of array- Parameters:
first
- array to concatenate. Cannot be null.rest
- of the arrays to concatenate. May be null.- Returns:
- array containing the concatenation of all parameters
-
areEqual
public static boolean areEqual(java.lang.Object o1, java.lang.Object o2)
Determines equality of the supplied objects. Array types are automatically detected.- Parameters:
o1
- to test equality ofo2
- to test equality of- Returns:
- whether o1 equals o2
-
computeHashCode
public static int computeHashCode(int seed, java.lang.Object... objects)
Computes a hash code for the supplied objects using the supplied seed. If a Collection type is found it is iterated over.- Parameters:
seed
- odd/prime numberobjects
- to calculate hashCode for- Returns:
- hash code for the supplied objects
-
isIPAddress
public static boolean isIPAddress(java.lang.String s)
Returns whether the supplied string represents an IP address. Matches both IPv4 and IPv6 addresses.- Parameters:
s
- to match- Returns:
- whether the supplied string represents an IP address
-
createConstructorFromProperty
public static java.lang.reflect.Constructor<?> createConstructorFromProperty(java.lang.String property)
Looks for the supplied system property value and loads a class with that name. The default constructor for that class is then returned.- Parameters:
property
- whose value is a class- Returns:
- class constructor or null if no system property was found
- Throws:
java.lang.IllegalArgumentException
- if an error occurs instantiating the constructor
-
-