Class FormatUtil
java.lang.Object
com.inductiveautomation.ignition.common.FormatUtil
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
Returns true if the given throwable uses a custom implementation of toString()static String
formatByteSize
(long numBytes) Formats a size of bytes, appropriately rounding to bytes, kb, mb, etcstatic String
formatDateFull
(Date value) Returns a date formated to yyyy-MM-dd hh:mm:ss.Sstatic String
formatDuration
(long millis) Formats a number of milliseconds as a human-readable string, like "5 hours, 35 minutes, 28 seconds"static String
formatDuration
(long millis, FormatUtil.DurationFormatStyle style) static String
formatDuration
(Locale locale, long millis) Formats a number of milliseconds as a human-readable string, like "5 hours, 35 minutes, 28 seconds"static String
formatDuration
(Locale locale, long millis, FormatUtil.DurationFormatStyle style) static String
formatDuration
(Locale locale, long millis, FormatUtil.DurationFormatStyle style, boolean alwaysShowMillis) static String
formatDurationSince
(long millisStart) Shortcut, equivalent to formatDuration(System.currentTimeMillis()-millisStart)static String
formatDurationSince
(long millisStart, FormatUtil.DurationFormatStyle style) static String
formatDurationSinceNano
(long nanoStart) Convenience function for using nanoTime for diffs.static String
formatSafe
(String value, Object... formatArgs) Performs String.format() on the value, with the provided args, but catches the IllegalFormatException that the function might throw.static String
formatSafe
(org.apache.log4j.Logger log, String value, Object... formatArgs) Performs String.format() on the value, with the provided args, but catches the IllegalFormatException that the function might throw.static DecimalFormat
getCurrencyInstance
(Locale locale) static DecimalFormat
getDecimalFormat
(String pattern) Java 9 changed how format symbols are searched, which causes issues for some locales: the symbol returned doesn't match what the user will typically enter from their keyboard.static DecimalFormat
getDecimalFormat
(String pattern, Locale locale) Java 9 changed how format symbols are searched, which causes issues for some locales: the symbol returned doesn't match what the user will typically enter from their keyboard.static DecimalFormatSymbols
Java 9 changed how format symbols are searched, which causes issues for some locales: the symbol returned doesn't match what the user will typically enter from their keyboard.static DecimalFormatSymbols
getDecimalFormatSymbols
(Locale locale) Java 9 changed how format symbols are searched, which causes issues for some locales: the symbol returned doesn't match what the user will typically enter from their keyboard.static DecimalFormat
getIntegerInstance
(Locale locale) static DecimalFormat
getNumberInstance
(Locale locale) static DecimalFormat
getPercentInstance
(Locale locale) static String
static String
static boolean
isValidEmailFormat
(String email)
-
Field Details
-
EMAIL_PATTERN
-
-
Method Details
-
formatByteSize
Formats a size of bytes, appropriately rounding to bytes, kb, mb, etc -
formatDurationSince
Shortcut, equivalent to formatDuration(System.currentTimeMillis()-millisStart) -
formatDurationSinceNano
Convenience function for using nanoTime for diffs. Note, however, that internally the value is converted to milliseconds, so this is not useful for formatting sub-millisecond values. -
formatDuration
Formats a number of milliseconds as a human-readable string, like "5 hours, 35 minutes, 28 seconds" -
formatDuration
Formats a number of milliseconds as a human-readable string, like "5 hours, 35 minutes, 28 seconds" -
formatDuration
public static String formatDuration(Locale locale, long millis, FormatUtil.DurationFormatStyle style) -
formatDuration
public static String formatDuration(Locale locale, long millis, FormatUtil.DurationFormatStyle style, boolean alwaysShowMillis) -
formatDurationSince
-
formatDuration
-
customToString
Returns true if the given throwable uses a custom implementation of toString() -
getStacktraceCompact
-
getStacktraceFull
-
formatDateFull
Returns a date formated to yyyy-MM-dd hh:mm:ss.S -
formatSafe
Performs String.format() on the value, with the provided args, but catches the IllegalFormatException that the function might throw. If formatArgs is null, no operation is performed and the value is returned. -
formatSafe
public static String formatSafe(@Nullable org.apache.log4j.Logger log, @Nullable String value, @Nullable Object... formatArgs) Performs String.format() on the value, with the provided args, but catches the IllegalFormatException that the function might throw. If formatArgs is null, no operation is performed and the value is returned. If the logger parameter is not null, a warning will be logged if an error occurs. -
getDecimalFormatSymbols
Java 9 changed how format symbols are searched, which causes issues for some locales: the symbol returned doesn't match what the user will typically enter from their keyboard. This overrides to the much more common symbol. This method should _always_ be used instead of getting a instance directly. See FB14239Also, do not hang on to an instance of dfs if the locale could have changed between uses. Get a new set each time.
- Returns:
- DecimalFormatSymbols for the default locale, with appropriate changes
-
getDecimalFormatSymbols
Java 9 changed how format symbols are searched, which causes issues for some locales: the symbol returned doesn't match what the user will typically enter from their keyboard. This overrides to the much more common symbol. This method should _always_ be used instead of getting a instance directly. See FB14239- Returns:
- DecimalFormatSymbols for the given locale, with appropriate changes
-
getDecimalFormat
Java 9 changed how format symbols are searched, which causes issues for some locales: the symbol returned doesn't match what the user will typically enter from their keyboard. This overrides to the much more common symbol. This method should _always_ be used instead of getting a instance directly. See FB14239Also, do not hang on to an instance of DecimalFormat if the locale could have changed between uses. Get a new instance each time.
- Parameters:
pattern
- Format pattern- Returns:
- DecimalFormat with appropriate symbol changes for the default locale. Not null.
-
getDecimalFormat
Java 9 changed how format symbols are searched, which causes issues for some locales: the symbol returned doesn't match what the user will typically enter from their keyboard. This overrides to the much more common symbol. This method should _always_ be used instead of getting a instance directly. See FB14239Also, do not hang on to an instance of DecimalFormat if the locale could have changed between uses. Get a new instance each time.
- Parameters:
pattern
- Format patternlocale
- Locale for formatting- Returns:
- DecimalFormat with appropriate symbol changes for the given locale. Not null.
-
getIntegerInstance
-
getCurrencyInstance
-
getNumberInstance
-
getPercentInstance
-
isValidEmailFormat
-