Package com.erudika.para.core.utils
Class Utils
java.lang.Object
com.erudika.para.core.utils.Utils
Miscellaneous Para utilities.
- Author:
- Alex Bogdanovski [[email protected]]
-
Method Summary
Modifier and TypeMethodDescriptionstatic Stringabbreviate(String str, int max) Abbreviates a string.static StringabbreviateInt(Number number, int decPlaces) Abbreviates an integer by adding a letter suffix at the end.static StringJoins a list of strings to String using a separator.static StringDecodes a string from Base64.static Stringbase64enc(byte[] str) Encodes a byte array to Base64.static Stringbase64encURL(byte[] str) Encodes a byte array to Base64.static Stringbcrypt hash function implemented by Spring Security.static booleanbcryptMatches(String plain, String storedHash) Checks if a hash matches a string.static StringcompileMustache(Map<String, Object> context, String template) static StringcompileMustache(Map<String, Object> context, String template, boolean escapeHtml) Compiles a mustache template with a given scope (map of fields and values).static StringformatDate(Long timestamp, String format, Locale loc) Formats a date in a specific format.static StringformatDate(String format, Locale loc) Formats the date for today, in a specific format.static StringformatMessage(String msg, Object... params) Formats a messages containing {0}, {1}... etc.static StringformatPrice(double price) Returns the price with two fractional digits at the end.static StringGenerates an authentication token - a random 32 byte string encoded in Base64.static StringgenerateSecurityToken(int length) Generates an authentication token - a random string encoded in Base64.static StringgenerateSecurityToken(int length, boolean urlSafe) Generates an authentication token - a random string encoded in Base64.getAllDeclaredFields(Class<? extends ParaObject> clazz) Returns a list of all declared fields in a class.static StringgetBaseURL(String url) The basic URL without any parameters: >scheme<:>authority<.static intReturns the current year.static StringgetHostFromURL(String url) Returns the host part of the URL.static HumanTimeHumanTime - a relative time formatter.static UtilsReturns an instance of this class.static Localestatic String[]Returns an array of the months in the Gregorian calendar.static StringgetNewId()Distributed id generator.static StringgetObjectURI(ParaObject obj, boolean includeName, boolean includeId) Returns the default URL for a given domain object.static StringgetSystemProperty(String name) Same asSystem.getProperty(java.lang.String).static StringhmacSHA256(String message, String secret) Computes the HmacSHA256 hash of a message.static booleanisBasicType(Class<?> clazz) Checks if a class is primitive, String or a primitive wrapper.static booleanisJsonType(String contentType) Checks if a response is of type JSON.static booleanisValidEmail(String email) Email validation.static booleanisValidURL(String url) URL validation.static StringmarkdownToHtml(String markdownString) Converts Markdown to HTML.static StringmarkdownToHtml(String markdownString, boolean htmlTagsRenderingEnabled) Converts Markdown to HTML.static Stringmd5 hash function.static StringConverts spaces to dashes.static intround(float d) Rounds a float to an int.static doubleroundHalfUp(double d) Round up a double using the "half up" method.static doubleroundHalfUp(double d, int scale) Round up a double using the "half up" method.static StringsingularToPlural(String singul) Quick and dirty singular to plural conversion.static StringstripAndTrim(String str) Strips all symbols, punctuation, whitespace and control chars from a string.static StringstripAndTrim(String str, String replaceWith) Strips all symbols, punctuation, whitespace and control chars from a string.static StringstripAndTrim(String str, String replaceWith, boolean asciiOnly) Strips all symbols, punctuation, whitespace and control chars from a string.static StringStrips all HTML tags from a string.static longJava timestamp.static Stringtype(Class<? extends ParaObject> clazz) Returns the simple name of a class in lowercase (AKA the type).static StringDecodes a URL-encoded string.static StringURL-encodes a string.
-
Method Details
-
getInstance
Returns an instance of this class.- Returns:
- an instance
-
getHumanTime
HumanTime - a relative time formatter.- Returns:
- humantime instance
-
md5
md5 hash function.- Parameters:
s- the string to be hashed- Returns:
- an md5 hash
-
hmacSHA256
Computes the HmacSHA256 hash of a message.- Parameters:
message- a message as UTF-8 encoded stringsecret- a secret key- Returns:
- base64(hmacSHA256(message, secret))
-
bcrypt
bcrypt hash function implemented by Spring Security.- Parameters:
s- the string to be hashed- Returns:
- the hash
-
bcryptMatches
Checks if a hash matches a string.- Parameters:
plain- plain text stringstoredHash- hashed string- Returns:
- true if the hash matches
-
generateSecurityToken
Generates an authentication token - a random string encoded in Base64.- Parameters:
length- the length of the generated tokenurlSafe- switches to a URL safe encoding- Returns:
- a random string
-
generateSecurityToken
Generates an authentication token - a random string encoded in Base64.- Parameters:
length- the length of the generated token- Returns:
- a random string
-
generateSecurityToken
Generates an authentication token - a random 32 byte string encoded in Base64.- Returns:
- a random string
-
stripHtml
Strips all HTML tags from a string.- Parameters:
html- HTML string- Returns:
- just the text
-
markdownToHtml
Converts Markdown to HTML.- Parameters:
markdownString- Markdown- Returns:
- HTML
-
markdownToHtml
Converts Markdown to HTML.- Parameters:
markdownString- MarkdownhtmlTagsRenderingEnabled- if true, basic HTML tags will be rendered instead of escaped- Returns:
- HTML
-
compileMustache
public static String compileMustache(Map<String, Object> context, String template, boolean escapeHtml) Compiles a mustache template with a given scope (map of fields and values).- Parameters:
context- a map of fields and valuestemplate- a Mustache templateescapeHtml- enable/disable escaping of HTML- Returns:
- the compiled template string
-
compileMustache
- Parameters:
context- a map of fields and valuestemplate- a Mustache template- Returns:
- the compiled template string
- See Also:
-
abbreviate
Abbreviates a string.- Parameters:
str- a stringmax- max length- Returns:
- a substring of that string
-
arrayJoin
Joins a list of strings to String using a separator.- Parameters:
arr- a list of stringsseparator- a separator string- Returns:
- a string
-
stripAndTrim
Strips all symbols, punctuation, whitespace and control chars from a string.- Parameters:
str- a dirty string- Returns:
- a clean string
-
stripAndTrim
Strips all symbols, punctuation, whitespace and control chars from a string.- Parameters:
str- a dirty stringreplaceWith- a string to replace spaces with- Returns:
- a clean string
-
stripAndTrim
Strips all symbols, punctuation, whitespace and control chars from a string.- Parameters:
str- a dirty stringreplaceWith- a string to replace spaces withasciiOnly- if true, all non-ASCII characters will be stripped- Returns:
- a clean string
-
noSpaces
Converts spaces to dashes.- Parameters:
str- a string with spacesreplaceWith- a string to replace spaces with- Returns:
- a string with dashes
-
formatMessage
Formats a messages containing {0}, {1}... etc. Used for translation.- Parameters:
msg- a message with placeholdersparams- objects used to populate the placeholders- Returns:
- a formatted message
-
base64enc
Encodes a byte array to Base64.- Parameters:
str- the byte array- Returns:
- an encoded string
-
base64encURL
Encodes a byte array to Base64. URL safe.- Parameters:
str- the byte array- Returns:
- an encoded string
-
base64dec
Decodes a string from Base64.- Parameters:
str- the encoded string- Returns:
- a decoded string
-
formatDate
Formats a date in a specific format.- Parameters:
timestamp- the Java timestampformat- the date formatloc- the locale instance- Returns:
- a formatted date
-
formatDate
Formats the date for today, in a specific format.- Parameters:
format- the date formatloc- the locale instance- Returns:
- today's date formatted
-
getCurrentYear
public static int getCurrentYear()Returns the current year.- Returns:
- this year
-
timestamp
public static long timestamp()Java timestamp.- Returns:
System.currentTimeMillis()
-
getMonths
Returns an array of the months in the Gregorian calendar.- Parameters:
locale- the locale used for the months' names- Returns:
- an array of the 12 months
-
getLocale
- Parameters:
localeStr- locale string- Returns:
- a
Localeinstance from a locale string.
-
round
public static int round(float d) Rounds a float to an int.- Parameters:
d- a float- Returns:
- a rounded int
-
formatPrice
Returns the price with two fractional digits at the end.- Parameters:
price- a price- Returns:
- $###.##
-
roundHalfUp
public static double roundHalfUp(double d) Round up a double using the "half up" method.- Parameters:
d- a double- Returns:
- a double
-
roundHalfUp
public static double roundHalfUp(double d, int scale) Round up a double using the "half up" method.- Parameters:
d- a doublescale- the scale- Returns:
- a double
-
abbreviateInt
Abbreviates an integer by adding a letter suffix at the end. E.g. "M" for millions, "K" for thousands, etc.- Parameters:
number- a big integerdecPlaces- decimal places- Returns:
- the rounded integer as a string
-
urlDecode
Decodes a URL-encoded string.- Parameters:
s- a string- Returns:
- the decoded string
-
urlEncode
URL-encodes a string.- Parameters:
s- a string- Returns:
- the encoded string
-
isValidURL
URL validation.- Parameters:
url- a URL- Returns:
- true if the URL is valid
-
isValidEmail
Email validation.- Parameters:
email- email address- Returns:
- true if the URL is valid
-
getHostFromURL
Returns the host part of the URL.- Parameters:
url- a URL- Returns:
- just the host
-
getBaseURL
The basic URL without any parameters: >scheme<:>authority<.- Parameters:
url- a full URL- Returns:
- the basic URL
-
getObjectURI
Returns the default URL for a given domain object.- Parameters:
obj- the domain objectincludeName- true if we want to include the name of the object in the URLincludeId- true if we want to include the ID of the object in the URL- Returns:
- the object's URL - e.g. /users/123-name, /users/, /users/123
-
getSystemProperty
Same asSystem.getProperty(java.lang.String).- Parameters:
name- the name of the property- Returns:
- the property value
-
isJsonType
Checks if a response is of type JSON.- Parameters:
contentType- the value of "Content-Type" header- Returns:
- true if JSON
-
singularToPlural
Quick and dirty singular to plural conversion.- Parameters:
singul- a word- Returns:
- a guess of its plural form
-
isBasicType
Checks if a class is primitive, String or a primitive wrapper.- Parameters:
clazz- a class- Returns:
- true if primitive or wrapper
-
type
Returns the simple name of a class in lowercase (AKA the type).- Parameters:
clazz- a core class- Returns:
- just the name in lowercase or an empty string if clazz is null
-
getAllDeclaredFields
Returns a list of all declared fields in a class. Transient and serialVersionUID fields are skipped. This method scans parent classes as well.- Parameters:
clazz- a class to scan- Returns:
- a list of fields including those of the parent classes excluding the Object class.
-
getNewId
Distributed id generator. Relies on node/worker ids and datacenter ids to prevent collisions.- Returns:
- a long unique ID string of digits
-