Ir al contenido

OKMFolder

En casi todos los métodos verá un parámetro llamado “fldId”. El valor de este parámetro puede ser un UUID de carpeta válido.

Además, en todos los métodos verá un parámetro llamado “token”. Dado que las tareas de Cron se ejecutan en segundo plano sin autenticación, los métodos usados en este escenario podrían usar el parámetro token. En el contexto de ejecución por defecto de la aplicación, debe usar el valor “null”, que indica que la aplicación debe usar la “sesión de usuario”.

Descripción:

Método Valores devueltos Descripción
create(String token, Folder fld) Folder Crea una nueva carpeta y devuelve un objeto Folder.
  • La variable path en el parámetro fld debe estar inicializada. Indica la ruta de la carpeta en OpenKM.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.bean.Folder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
Folder fld = new Folder();
fld.setPath("/okm:root/test");
okmFolder.create(null, fld);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
createWithPropertyGroup(String token, Folder fld, String grpName, Map<String, String> properties) Folder Igual que create(), pero además establece las propiedades de un grupo de metadatos en la carpeta en la misma llamada, en lugar de un create() seguido de una llamada independiente a OKMPropertyGroup.addGroup().
  • La variable path en el parámetro fld debe estar inicializada, igual que en create(). El grpName debe ser un nombre de grupo de metadatos válido, y solo se aplican las propiedades que pertenecen a ese grupo; cualquier otra clave presente en el mapa properties se ignora.

Ejemplo:

package com.openkm;
import java.util.HashMap;
import java.util.Map;
import com.openkm.api.OKMFolder;
import com.openkm.bean.Folder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
Folder fld = new Folder();
fld.setPath("/okm:root/test");
Map<String, String> properties = new HashMap<>();
properties.put("okp:invoice.number", "INV-000");
// Create folder with metadata in a single atomic call
okmFolder.createWithPropertyGroup(null, fld, "okg:invoice", properties);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
createSimple(String token, String fldPath) Folder Crea una nueva carpeta y devuelve un objeto Folder.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
String fldPath = "/okm:root/test";
okmFolder.createSimple(null, fldPath);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getProperties(String token, String fldId) Folder Devuelve las propiedades de la carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.bean.Folder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
Folder fld = okmFolder.getProperties(null, "9f64248c-e049-4706-b89e-6d725842c7f7");
System.out.println(fld);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
delete(String token, String fldId) void Elimina una carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
okmFolder.delete(null, "9f64248c-e049-4706-b89e-6d725842c7f7");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
purge(String token, String fldId) void La carpeta se elimina permanentemente del repositorio.
  • Normalmente purgará carpetas en /okm:trash/userId - las papeleras personales del usuario -, pero es posible purgar directamente cualquier carpeta del repositorio.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
okmFolder.purge(null, "9f64248c-e049-4706-b89e-6d725842c7f7");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
rename(String token, String fldId, String newName) Folder Renombra una carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
okmFolder.rename(null, "7aceb86c-1dc8-4551-aebd-b7bd73d01263", "newname");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
move(String token, String fldId, String dstId) void Mueve una carpeta a otra carpeta o registro.
  • El valor del parámetro dstId debe ser un UUID de carpeta o de registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
okmFolder.move(null, "7aceb86c-1dc8-4551-aebd-b7bd73d01263", "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
copy(String token, String fldId, String dstId) Folder Copia una carpeta en otra carpeta o registro.
  • El valor del parámetro dstId debe ser un UUID de carpeta o de registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
okmFolder.copy(null, "7aceb86c-1dc8-4551-aebd-b7bd73d01263", "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
copy(String token, String fldId, String dstId, String newName) Folder Copia una carpeta en una carpeta o registro.
  • El valor del parámetro dstId debe ser un UUID de carpeta o de registro.
  • Cuando el valor del parámetro newName es null, la carpeta conservará el mismo nombre.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
okmFolder.copy(null, "7aceb86c-1dc8-4551-aebd-b7bd73d01263", "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474", "newname");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
extendedCopy(String token, String fldId, String dstId, ExtendedAttributes extAttr) Folder Copia una carpeta junto con los datos asociados en otra carpeta o registro.
  • El valor del parámetro dstId debe ser un UUID de carpeta o de registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.bean.ExtendedAttributes;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
ExtendedAttributes extAttr = new ExtendedAttributes();
extAttr.setKeywords(true);
extAttr.setNotes(true);
extAttr.setCategories(true);
extAttr.setPropertyGroups(true);
okmFolder.extendedCopy(null, "7aceb86c-1dc8-4551-aebd-b7bd73d01263", "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474", extAttr);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
extendedCopy(String token, String fldId, String dstId, ExtendedAttributes extAttr, String newName) Folder Copia una carpeta junto con los datos asociados en alguna carpeta o registro.
Obsoleto: use extendedCopy(token, fldId, dstId, newName, extAttr) en su lugar.
  • El valor del parámetro dstId debe ser un UUID de carpeta o de registro.
  • Cuando el valor del parámetro newName es null, la carpeta conservará el mismo nombre.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.bean.ExtendedAttributes;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
ExtendedAttributes extAttr = new ExtendedAttributes();
extAttr.setKeywords(true);
extAttr.setNotes(true);
extAttr.setCategories(true);
extAttr.setPropertyGroups(true);
okmFolder.extendedCopy(null, "7aceb86c-1dc8-4551-aebd-b7bd73d01263", "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474",
extAttr, "newname");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
extendedCopy(String token, String fldId, String dstId, String newName, ExtendedAttributes extAttr) Folder Copia una carpeta junto con los datos asociados en alguna carpeta o registro, con un nuevo nombre.
  • El valor del parámetro dstId debe ser un UUID de carpeta o de registro.
  • Cuando el valor del parámetro newName es null, la carpeta conservará el mismo nombre.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.bean.ExtendedAttributes;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
ExtendedAttributes extAttr = new ExtendedAttributes();
extAttr.setKeywords(true);
extAttr.setNotes(true);
extAttr.setCategories(true);
extAttr.setPropertyGroups(true);
okmFolder.extendedCopy(null, "7aceb86c-1dc8-4551-aebd-b7bd73d01263", "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474",
"newname", extAttr);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getChildren(String token, String fldId) List Devuelve una lista de todas las carpetas cuyo padre es fldId.
  • El parámetro fldId puede ser un nodo de carpeta o de registro.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.bean.Folder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
for (Folder fld : okmFolder.getChildren(null, "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474")) {
System.out.println(fld);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getContentInfo(String token, String fldId) ContentInfo Devuelve un objeto ContentInfo con información sobre la carpeta.
  • El objeto ContentInfo recupera información sobre:

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.bean.ContentInfo;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
ContentInfo ci = okmFolder.getContentInfo(null, "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474");
System.out.println(ci);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
isValid(String token, String fldId) boolean Devuelve un booleano que indica si el nodo es una carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
boolean valid = okmFolder.isValid(null, "7aceb86c-1dc8-4551-aebd-b7bd73d01263");
System.out.println(valid);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getPath(String token, String uuid) String Convierte un UUID de carpeta en una ruta de carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
String path = okmFolder.getPath(null, "7aceb86c-1dc8-4551-aebd-b7bd73d01263");
System.out.println(path);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
createMissingFolders(String token, String fldPath) String Crea las carpetas que falten en función de todos los nodos de la ruta. Devuelve el UUID de la carpeta más profunda creada.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
okmFolder.createMissingFolders(null, "/okm:root/test/missing/from/here");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
addNodeClassChildren(String token, String fldId, long ncId) void Añade la NodeClass.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
long ncId = 2;
okmFolder.addNodeClassChildren(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", ncId);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
createFromTemplate(String token, String fldId, String dstPath, Map<String, String> properties, ExtendedAttributes extAttr) Folder Crea una nueva carpeta a partir de una plantilla y devuelve un objeto Folder.
  • El dstPath puede ser un UUID de carpeta o de registro.
  • Cuando la plantilla usa grupos de metadatos para rellenar campos, los valores son obligatorios y deben establecerse en el parámetro properties.

Ejemplo:

package com.openkm;
import java.util.HashMap;
import java.util.Map;
import com.openkm.api.OKMFolder;
import com.openkm.bean.ExtendedAttributes;
import com.openkm.bean.Folder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
Map<String, String> properties = new HashMap<>();
Folder fld = okmFolder.createFromTemplate(null, "86633fe8-1b0d-48ac-a716-7685022adad8",
"/okm:root/destination", properties, new ExtendedAttributes());
System.out.println(fld);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
setDescription(String token, String uuid, String description) void Establece una descripción.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMFolder;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
okmFolder.setDescription(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", "some description");
} catch (Exception e) {
e.printStackTrace();
}
}
}