Ir al contenido

FormatUtil

Clase de utilidad con métodos auxiliares estáticos para formatear tamaños, fechas, intervalos de tiempo y cadenas; sanear y escapar HTML; y validar tipos de datos comunes. Todos los métodos son estáticos.

Descripción:

Método Valores de retorno Descripción
formatSize(long bytes) String Formatea un número de bytes como una cadena de tamaño legible (p. ej. 1.5 MB). Unidades: B, KB, MB, GB, TB, PB, EB.
  • bytes: El tamaño en bytes.

Ejemplo:

package com.openkm;
import java.io.File;
import com.openkm.util.FormatUtil;
public class Test {
public static void main(String[] args) {
try {
File file = new File("/home/openkm/test.png");
System.out.println(FormatUtil.formatSize(file.length())); // e.g. "2.3 MB"
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
parseSize(String text) long Analiza una cadena de tamaño legible (p. ej. "10MB", "2GB") y la convierte a bytes. Admite los sufijos KB, MB, GB.
  • text: La cadena de tamaño a analizar.

Ejemplo:

long bytes = FormatUtil.parseSize("10MB");
System.out.println(bytes); // 10485760

Descripción:

Método Valores de retorno Descripción
formatDate(Calendar cal) String Formatea un valor Calendar como dd-MM-yyyy HH:mm:ss en la zona horaria propia del calendario. Devuelve null si cal es nulo.

Ejemplo:

import java.util.Calendar;
import com.openkm.util.FormatUtil;
System.out.println(FormatUtil.formatDate(Calendar.getInstance())); // "15-03-2024 14:30:00"

Descripción:

Método Valores de retorno Descripción
formatDate(Date date) String Formatea un valor Date como dd-MM-yyyy HH:mm:ss.

Descripción:

Método Valores de retorno Descripción
formatDate(long unixEpoch) String Formatea un valor Unix epoch (milisegundos desde el 1970-01-01) como dd-MM-yyyy HH:mm:ss.

Ejemplo:

System.out.println(FormatUtil.formatDate(System.currentTimeMillis())); // "15-03-2024 14:30:00"

Descripción:

Método Valores de retorno Descripción
formatSeconds(long time) String Formatea una duración en milisegundos como HH:MM:SS.

Descripción:

Método Valores de retorno Descripción
formatSecondsSince(long time) String Formatea el tiempo transcurrido desde la marca de tiempo inicial indicada (en milisegundos) como HH:MM:SS. Pase el resultado de System.currentTimeMillis() al comienzo de la operación.

Descripción:

Método Valores de retorno Descripción
formatMilliSeconds(long time) String Formatea una duración en milisegundos como HH:MM:SS.mmm.

Descripción:

Método Valores de retorno Descripción
formatMilliSecondsSince(long time) String Formatea el tiempo transcurrido desde la marca de tiempo inicial indicada (en milisegundos) como HH:MM:SS.mmm. Pase el resultado de System.currentTimeMillis() al comienzo de la operación.

Ejemplo:

long start = System.currentTimeMillis();
// ... long operation ...
System.out.println("Elapsed: " + FormatUtil.formatMilliSecondsSince(start)); // "00:00:01.234"

Descripción:

Método Valores de retorno Descripción
formatArray(String[] values) String Convierte un array de cadenas en una cadena legible. Para arrays de un solo elemento, devuelve directamente ese elemento; para arrays de varios elementos, devuelve la representación de ArrayUtils.toString de Apache Commons. Devuelve null si la entrada es nula.

Descripción:

Método Valores de retorno Descripción
formatObject(Object value) String Convierte un objeto en una cadena. Para Object[] usa ArrayUtils.toString; en caso contrario, llama a toString(). Devuelve null si la entrada es nula.

Descripción:

Método Valores de retorno Descripción
escapeHtml(String str) String Escapa < y > como entidades HTML, y convierte los saltos de línea en <br/>. Devuelve null si la entrada es nula.

Descripción:

Método Valores de retorno Descripción
sanitizeInput(String string) String Sanea una cadena HTML para eliminar contenido potencialmente peligroso (XSS). Usa la librería AntiSamy o un método heredado basado en expresiones regulares, según la configuración Config.SECURITY_INPUT_SANITIZER. Devuelve null si la entrada es nula.

Descripción:

Método Valores de retorno Descripción
cleanXSS(String value) String Limpia una cadena escapando los ángulos y paréntesis HTML, eliminando expresiones eval() y JavaScript en línea, y eliminando la palabra clave script.

Descripción:

Método Valores de retorno Descripción
sanitizeEmailString(String value) String Elimina de la cadena indicada cualquier carácter que no sea letra, dígito, puntuación o espacio. Útil para sanear cadenas de direcciones de correo.

Ejemplo:

String safe = FormatUtil.escapeHtml("<b>Hello</b>\nWorld");
// "&lt;b&gt;Hello&lt;/b&gt;<br/>World"
String sanitized = FormatUtil.sanitizeInput("<script>alert('xss')</script>Hello");
System.out.println(sanitized); // "Hello"

Descripción:

Método Valores de retorno Descripción
isValidUUID(String str) boolean Devuelve true si la cadena indicada es un UUID válido.

Ejemplo:

boolean valid = FormatUtil.isValidUUID("d50133e3-dbfa-4d01-a109-28785cd48f40"); // true
boolean invalid = FormatUtil.isValidUUID("not-a-uuid"); // false

Descripción:

Método Valores de retorno Descripción
validUTF8(byte[] input) boolean Devuelve true si el array de bytes indicado es una secuencia UTF-8 válida.

Descripción:

Método Valores de retorno Descripción
fixUTF8(byte[] input) byte[] Sustituye los bytes nulos (0x00) por espacios (0x20) en un array de bytes.

Descripción:

Método Valores de retorno Descripción
fixUTF8(String input) String Sustituye los caracteres Unicode nulos () por espacios y recorta el resultado. Devuelve null si la entrada es nula.

Descripción:

Método Valores de retorno Descripción
trimUnicodeSurrogates(String text) String Elimina los caracteres subrogados Unicode de la cadena indicada y la recorta. Devuelve null si la entrada es nula. Útil para preparar texto antes de la indexación o la serialización XML.

Descripción:

Método Valores de retorno Descripción
stripNonValidXMLCharacters(String in) String Elimina todos los caracteres que no son válidos en XML 1.0. Devuelve una cadena vacía si la entrada es nula o vacía. Use esto antes de insertar texto arbitrario en un documento XML.

Ejemplo:

String cleaned = FormatUtil.stripNonValidXMLCharacters("Hello\u0008World");
System.out.println(cleaned); // "HelloWorld"