Ir al contenido

PathUtils

Clase de utilidad con métodos estáticos auxiliares para trabajar con rutas del repositorio de OpenKM (p. ej. /okm:root/folder/file.pdf). Todos los métodos son estáticos.

Descripción:

Método Valores de retorno Descripción
getParent(String path) String Devuelve la ruta padre. Devuelve "/" si la ruta no tiene segmento padre.

Ejemplo:

System.out.println(PathUtils.getParent("/okm:root/folder/file.pdf")); // "/okm:root/folder"
System.out.println(PathUtils.getParent("/okm:root")); // "/"

Descripción:

Método Valores de retorno Descripción
getName(String path) String Devuelve el último segmento de una ruta (el nombre del nodo).

Ejemplo:

System.out.println(PathUtils.getName("/okm:root/folder/file.pdf")); // "file.pdf"

Descripción:

Método Valores de retorno Descripción
getContext(String path) String Devuelve el segmento de contexto raíz de una ruta. Por ejemplo, "/okm:root/folder/file.pdf" devuelve "/okm:root".

Ejemplo:

System.out.println(PathUtils.getContext("/okm:root/folder/file.pdf")); // "/okm:root"

Descripción:

Método Valores de retorno Descripción
getDepth(String path) int Devuelve el número de segmentos de la ruta (profundidad). Por ejemplo, "/okm:root/folder/file.pdf" devuelve 3.

Descripción:

Método Valores de retorno Descripción
getElements(String path) String[] Devuelve todos los segmentos de la ruta como un array de cadenas. Por ejemplo, "/okm:root/folder/file.pdf" devuelve ["okm:root", "folder", "file.pdf"].

Ejemplo:

package com.openkm;
import com.openkm.util.PathUtils;
public class Test {
public static void main(String[] args) {
try {
String path = "/okm:root/folder/file.pdf";
System.out.println(PathUtils.getParent(path)); // "/okm:root/folder"
System.out.println(PathUtils.getName(path)); // "file.pdf"
System.out.println(PathUtils.getContext(path)); // "/okm:root"
System.out.println(PathUtils.getDepth(path)); // 3
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
escape(String name) String Elimina los caracteres inválidos tanto en nombres de fichero de Windows como en nombres de nodo de OpenKM (barras, asteriscos y otros caracteres reservados). Úselo al crear nombres de nodo a partir de entrada de usuario arbitraria.

Descripción:

Método Valores de retorno Descripción
cleanup(String name) String Elimina barras y asteriscos de un nombre de nodo, colapsa varios espacios consecutivos en uno solo, y recorta los espacios en blanco al principio y al final.

Descripción:

Método Valores de retorno Descripción
toValidPathName(String path) String Aplica cleanup y FileUtils.toValidFilename a cada segmento de ruta por debajo del contexto raíz, devolviendo una ruta completa saneada.

Descripción:

Método Valores de retorno Descripción
shortenName(String name, int maxLength) String Trunca un nombre de fichero a como máximo maxLength caracteres, preservando la extensión. Devuelve el nombre sin cambios si ya está dentro del límite. Devuelve null para una entrada null.

Descripción:

Método Valores de retorno Descripción
shortenPath(String path, int maxLength) String Acorta una ruta del repositorio a como máximo maxLength caracteres, sustituyendo la parte central de la ruta padre por ... y manteniendo intacto el nombre del fichero. Devuelve la ruta sin cambios si ya encaja.

Ejemplo:

String name = PathUtils.escape("file: version 1.0/final.pdf"); // "file version 1.0final.pdf"
String short1 = PathUtils.shortenName("very_long_document_name.pdf", 20); // "very_long_docume.pdf"
String short2 = PathUtils.shortenPath("/okm:root/very/deep/nested/path/file.pdf", 30);
// "/okm:root/ver.../path/file.pdf"

Descripción:

Método Valores de retorno Descripción
encodeEntities(String path) String Codifica las entidades HTML (&, <, >, ", ') de una ruta o cadena a sus equivalentes de entidad. Idempotente: las entidades ya codificadas no se vuelven a codificar.

Descripción:

Método Valores de retorno Descripción
decodeEntities(String path) String Decodifica las referencias a entidades HTML de vuelta a sus caracteres originales. Inverso de encodeEntities.

Descripción:

Método Valores de retorno Descripción
isPath(String nodeId) boolean Devuelve true si la cadena dada es una ruta del repositorio (empieza por /). Devuelve false para UUIDs.

Descripción:

Método Valores de retorno Descripción
checkPath(String path) boolean Devuelve true si la ruta dada es una ruta válida del repositorio de OpenKM (no nula y empieza por /okm:).

Descripción:

Método Valores de retorno Descripción
isChild(String parentPath, String childPath) boolean Devuelve true si childPath es un descendiente directo o indirecto de parentPath. Devuelve false si alguno de los argumentos es null.
  • Ejemplos:

Descripción:

Método Valores de retorno Descripción
fixContext(String context) String Convierte una ruta de contexto en un identificador seguro para el sistema de ficheros, eliminando la / inicial y sustituyendo : por _. Por ejemplo, "/okm:root" se convierte en "okm_root".

Ejemplo:

package com.openkm;
import com.openkm.util.PathUtils;
public class Test {
public static void main(String[] args) {
try {
System.out.println(PathUtils.isPath("/okm:root/file.pdf")); // true
System.out.println(PathUtils.isPath("d50133e3-dbfa-4d01-a109-28785cd48f40")); // false
System.out.println(PathUtils.checkPath("/okm:root/file.pdf")); // true
System.out.println(PathUtils.isChild("/okm:root/folder", "/okm:root/folder/sub/file.pdf")); // true
System.out.println(PathUtils.fixContext("/okm:root")); // "okm_root"
} catch (Exception e) {
e.printStackTrace();
}
}
}