Package com.avoka.core.util
Class CoreUtils
- java.lang.Object
-
- com.avoka.core.util.CoreUtils
-
- All Implemented Interfaces:
Serializable
public class CoreUtils extends Object implements Serializable
Provides FC core utility methods.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description CoreUtils()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static voidclose(Closeable closeable)Close the given closeable resource and ignore any exceptions thrown.static StringcreateAltKey()Creates an 32 char alternative key using MD5 encoding with random textstatic StringdecodeBase64(String value)Return a Base 64 decoded string from the given encoded value.static StringdecodeBytesAsString(byte[] byteData)Return an string from the decoded byte array.static Stringdecrypt(String cyphertext)Decrypt the given cyphertext value.static StringdecryptSafely(String cyphertext)Decrypt the given cyphertext value without throwing an error if null is passed instatic byte[]encodeStringAsBytes(String value)Return an encoded version of the String value.static Stringencrypt(String plaintext)Encrypt the given plain text valuestatic StringescapeJson(String value)Escape the JSON string value.static StringgenerateHmacSHA256Hash(String convertme, String keyString)This method will generate HmacSHA256 hash or the fingerprintstatic StringgetFileName(String path)Extract the file name from a path (e.g.static StringgetMimeType(String filename)Return the mime-type or content-type for the given filename.static booleanisBlankList(List<String> valueList)Return true if the list is empty or only contains blank valuesstatic booleanisGuidKeyValue(String value)Return true if the specified value could be GUID Key value.static booleanisHealthMonitoringEnabled()Return true if the system health monitoring is enabled, or false if disabled by a JVM argumentcom.avoka.disable.health.monitoring.static booleanisNonNegativeInteger(String value)Return true if value can be coerced into a positive integer (long) value, which does not start with 0.static booleanisPositiveInteger(String value)Return true if value can be coerced into a positive integer (long) value, which does not start with 0.static booleanisPrimaryKeyValue(Object pk)Return true if value can be coerced into a primary key, a positive long value which does not start with 0.static booleanisXssSafe(String value)Checks if is XXS safe.static StringlimitLength(String value, int maxlength)Return the value string limited to maxlength characters.static StringlimitLength(String value, int maxlength, String suffix)Return the value string limited to maxlength characters.static StringnormalizeValue(String value)Normalize the value for a file system name.DocumentparseDocumentFromString(String xml, boolean namespaceAware, boolean validating)Deprecated.- see XMLUtils insteadstatic StringstripCDATAWrapper(String value)Return a string stripped of any CDATA section wrapper from the given string value.static StringstripControlChars(String source)Strip ISO control characters, with the exception of '\n', '\r', '\t' form the given string returning the result.static StringtoBase64(byte[] byteData)Return a Base 64 encoded string from the given byte array.static StringtoLabel(String name)Return a field label string from the given field name.static StringtoMD5Hash(byte[] bytes)Return an 32 char MD5 encoded string from the given byte array.static StringtoMD5Hash(String plaintext)Return an 32 char MD5 encoded string from the given plain text.static StringtoName(String label)Return a field name string from the given field label.static StringtoSHA256Hash(byte[] bytes)Return a Hex encoded SHA-256 hash of the given form XML data or attachment file data.static StringtoSHA256Hash(String plaintext)Return a Hex encoded SHA-256 hash of the given string value.static StringtoSHA384Hash(byte[] bytes, byte[] salt, int numberOfIterations)Return a Hex encoded SHA-384 hash of the given form XML data or attachment file data.
-
-
-
Method Detail
-
close
public static void close(Closeable closeable)
Close the given closeable resource and ignore any exceptions thrown.- Parameters:
closeable- the resource to close- Since:
- 4.2.0
-
encodeStringAsBytes
public static byte[] encodeStringAsBytes(String value)
Return an encoded version of the String value. The value will be serialized and ZLib compressed.- Parameters:
value- the string value to encode- Returns:
- a serialized and compressed byte array
- Throws:
IllegalArgumentException- if the value parameter is null
-
decodeBytesAsString
public static String decodeBytesAsString(byte[] byteData)
Return an string from the decoded byte array.- Parameters:
byteData- the encoded string byte data- Returns:
- an String value from the encoded byte data
-
parseDocumentFromString
@Deprecated public Document parseDocumentFromString(String xml, boolean namespaceAware, boolean validating) throws ParserConfigurationException, SAXException
Deprecated.- see XMLUtils insteadThis does the same as DOMUtil.parseDocumentFromString()- Parameters:
xml- the XML string contentnamespaceAware- whether to parse the document to aware the namespacevalidating- whether to validate the document- Returns:
- a new XML Document fromt he given XML string
- Throws:
ParserConfigurationException- throw a exception if there is a configuration errorSAXException- throw a exception if there is a parse error
-
toBase64
public static String toBase64(byte[] byteData)
Return a Base 64 encoded string from the given byte array.- Parameters:
byteData- the byte array data to encode- Returns:
- a base64 encoded byte array
-
decodeBase64
public static String decodeBase64(String value)
Return a Base 64 decoded string from the given encoded value.- Parameters:
value- the value to encode- Returns:
- the decoded string value
-
toMD5Hash
public static String toMD5Hash(String plaintext)
Return an 32 char MD5 encoded string from the given plain text. The returned value is MD5 hash compatible with Tomcat catalina Realm. Adapted from org.apache.catalina.util.MD5Encoder- Parameters:
plaintext- the plain text value to encode- Returns:
- encoded MD5 string
-
toMD5Hash
public static String toMD5Hash(byte[] bytes)
Return an 32 char MD5 encoded string from the given byte array. The returned value is MD5 hash compatible with Tomcat catalina Realm. Adapted from org.apache.catalina.util.MD5Encoder- Parameters:
bytes- the bytes array to encode- Returns:
- encoded MD5 string
-
createAltKey
public static String createAltKey()
Creates an 32 char alternative key using MD5 encoding with random text- Returns:
- an 32 char MD5 encoded string
-
limitLength
public static String limitLength(String value, int maxlength)
Return the value string limited to maxlength characters. If the string gets curtailed, "..." is appended to it. Adapted from Velocity Tools Formatter.- Parameters:
value- the string value to limit the length ofmaxlength- the maximum string length- Returns:
- a length limited string
-
limitLength
public static String limitLength(String value, int maxlength, String suffix)
Return the value string limited to maxlength characters. If the string gets curtailed and the suffix parameter is appended to it. Adapted from Velocity Tools Formatter.- Parameters:
value- the string value to limit the length ofmaxlength- the maximum string lengthsuffix- the suffix to append to the length limited string- Returns:
- a length limited string
-
encrypt
public static String encrypt(String plaintext)
Encrypt the given plain text value- Parameters:
plaintext- the plain text value to encrypt- Returns:
- the cypher text for the given plain text value.
-
decrypt
public static String decrypt(String cyphertext)
Decrypt the given cyphertext value.- Parameters:
cyphertext- the cyper text value to decrypt (required)- Returns:
- the cypher text for the given plain text value.
-
decryptSafely
public static String decryptSafely(String cyphertext)
Decrypt the given cyphertext value without throwing an error if null is passed in- Parameters:
cyphertext- the cypher text value to decrypt- Returns:
- the decrypted plain text value, or an empty string if the input string was empty or null
- Since:
- 4.2.0
-
getFileName
public static String getFileName(String path)
Extract the file name from a path (e.g. returning "file.txt" for "C:\data\txt\file.txt"). Treats "\" and "/" as separators.- Parameters:
path- the file path- Returns:
- the file name or null if the path was null
-
toSHA256Hash
public static String toSHA256Hash(byte[] bytes)
Return a Hex encoded SHA-256 hash of the given form XML data or attachment file data.- Parameters:
bytes- the byte array to hash- Returns:
- SHA-256 hash, encoded as a 64 character Hex string
-
toSHA256Hash
public static String toSHA256Hash(String plaintext)
Return a Hex encoded SHA-256 hash of the given string value. Please note the string value will be encode as a byte array using the UTF-8 charset before hashing.- Parameters:
plaintext- string value to hash- Returns:
- SHA-256 hash, encoded as a 64 character Hex string
-
toSHA384Hash
public static String toSHA384Hash(byte[] bytes, byte[] salt, int numberOfIterations)
Return a Hex encoded SHA-384 hash of the given form XML data or attachment file data.- Parameters:
bytes- the byte array to hash (required)salt- the saltnumberOfIterations- the number of times that the hash will be applied (must be a positive number)- Returns:
- SHA-384 hash, encoded as a 96 character hex string
- Since:
- 4.3.4
-
getMimeType
public static String getMimeType(String filename)
Return the mime-type or content-type for the given filename.- Parameters:
filename- the filename to obtain the mime-type for- Returns:
- the mime-type for the given filename, or null if not found
-
stripCDATAWrapper
public static String stripCDATAWrapper(String value)
Return a string stripped of any CDATA section wrapper from the given string value.- Parameters:
value- the string parameter- Returns:
- a string stripped of any CDATA section wrapper from the given string value.
-
isBlankList
public static boolean isBlankList(List<String> valueList)
Return true if the list is empty or only contains blank values- Parameters:
valueList- the value list to test- Returns:
- true if the list is empty or only contains blank values
- Since:
- 3.6.0
-
isXssSafe
public static boolean isXssSafe(String value)
Checks if is XXS safe. Please see dangerous characters: XSS Filter Evasion Cheat Sheet- Parameters:
value- the value to test- Returns:
- true, if is XSS safe or is null
- Since:
- 3.6.0
-
stripControlChars
public static String stripControlChars(String source)
Strip ISO control characters, with the exception of '\n', '\r', '\t' form the given string returning the result.- Parameters:
source- the source string- Returns:
- the string value stripped of ISO Control characters.
- Since:
- 3.6.0
-
isHealthMonitoringEnabled
public static boolean isHealthMonitoringEnabled()
Return true if the system health monitoring is enabled, or false if disabled by a JVM argumentcom.avoka.disable.health.monitoring.- Returns:
- true if the system health monitoring is enabled, or false if disabled by a JVM argument
- Since:
- 4.0.0
-
isPrimaryKeyValue
public static boolean isPrimaryKeyValue(Object pk)
Return true if value can be coerced into a primary key, a positive long value which does not start with 0.- Parameters:
pk- the primary key value- Returns:
- true if value can be coerced into a Long primary key, a positive long value which does not start with 0.
- Since:
- 4.0.2
-
isGuidKeyValue
public static boolean isGuidKeyValue(String value)
Return true if the specified value could be GUID Key value.- Parameters:
value- the value to test- Returns:
- true if the specified value could be GUID Key value
- Since:
- 4.3.0
-
isPositiveInteger
public static boolean isPositiveInteger(String value)
Return true if value can be coerced into a positive integer (long) value, which does not start with 0.- Parameters:
value- the string value to test- Returns:
- true true if value can be coerced into a positive integer (long) value, which does not start with 0.
- Since:
- 4.1.0
-
isNonNegativeInteger
public static boolean isNonNegativeInteger(String value)
Return true if value can be coerced into a positive integer (long) value, which does not start with 0.- Parameters:
value- the string value to test- Returns:
- true true if value can be coerced into a positive integer (long) value, which does not start with 0.
- Since:
- 4.3.4
-
escapeJson
public static String escapeJson(String value)
Escape the JSON string value. http://stackoverflow.com/questions/3020094/how-should-i-escape-strings-in-json- Parameters:
value- the string value to escape as value JSON text- Returns:
- the JSON escaped string value
- Since:
- 4.1.0
-
normalizeValue
public static String normalizeValue(String value)
Normalize the value for a file system name.- Parameters:
value- the value to normalize (required)- Returns:
- the normalized value for a file system name
- Since:
- 17.10.0
-
toLabel
public static String toLabel(String name)
Return a field label string from the given field name. For example:
faxNumber -> Fax Number
Note toLabel will return an empty String ("") if a null String name is specified.
Copied from Apache ClickUtils method of the same name.
- Parameters:
name- the field name (required)- Returns:
- a field label string from the given field name
- Since:
- 17.10.0
-
toName
public static String toName(String label)
Return a field name string from the given field label.
A label of " OK do it!" is returned as "okDoIt". Any characters will also be removed.
A label of "customerSelect" is returned as "customerSelect".Copied from Apache ClickUtils method of the same name.
- Parameters:
label- the field label or caption (required)- Returns:
- a field name string from the given field label
- Since:
- 17.10.0
-
generateHmacSHA256Hash
public static String generateHmacSHA256Hash(String convertme, String keyString)
This method will generate HmacSHA256 hash or the fingerprint- Parameters:
convertme- the string to convert to HmacSHA256 hashkeyString- the key material of the secret key. The contents of the array are copied to protect against subsequent modification.- Returns:
- HmacSHA256 hash - the fingerprint
- Since:
- 19.11.0
-
-