OKMRecord
Conceptos básicos
Sección titulada «Conceptos básicos»En casi todos los métodos verá un parámetro llamado “recId”. El valor de este parámetro puede ser un UUID de expediente válido.
Además, en todos los métodos verá un parámetro llamado “token”. Como las tareas Cron se ejecutan en segundo plano sin autenticación, los métodos utilizados en este escenario pueden emplear el parámetro token. Desde el contexto de ejecución predeterminado de la aplicación debe utilizar el valor “null”, que indica que la aplicación debe utilizar la “sesión del usuario”.
Métodos
Sección titulada «Métodos»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| create(String token, Record rec) | Record | Crea un nuevo expediente y devuelve un objeto Record. |
- La variable path del parámetro rec debe estar inicializada. Indica la ruta de la carpeta en OpenKM.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.bean.Record;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); Record rec = new Record(); rec.setPath("/okm:root/test"); okmRecord.create(null, rec); } catch (Exception e) { e.printStackTrace(); } }}createSimple
Sección titulada «createSimple»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| createSimple(String token, String recPath) | Record | Crea un nuevo expediente y devuelve un objeto Record. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); String recPath = "/okm:root/PKI-100200"; okmRecord.createSimple(null, recPath); } catch (Exception e) { e.printStackTrace(); } }}getProperties
Sección titulada «getProperties»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getProperties(String token, String recId) | Record | Devuelve las propiedades del expediente. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.bean.Record;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); Record rec = okmRecord.getProperties(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f"); System.out.println(rec); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| delete(String token, String recId) | void | Elimina un expediente. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); okmRecord.delete(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| purge(String token, String recId) | void | El expediente se elimina permanentemente del repositorio. |
- Normalmente purgará carpetas en /okm:trash/userId (las papeleras personales de los usuarios), pero es posible purgar directamente cualquier expediente del repositorio.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); okmRecord.purge(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| rename(String token, String recId, String newName) | Record | Cambia el nombre de un expediente. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); okmRecord.rename(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "newname"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| move(String token, String recId, String dstId) | void | Mueve un expediente a una carpeta o a un expediente. |
- El valor del parámetro dstId debe ser el UUID de una carpeta o de un expediente.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); okmRecord.move(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| copy(String token, String recId, String dstId) | void | Copia un expediente en una carpeta o en un expediente. |
- Los valores del parámetro dstId deben ser el UUID de una carpeta o de un expediente.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); okmRecord.copy(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| copy(String token, String recId, String dstId, String newName) | void | Copia un expediente en una carpeta o en un expediente. |
- Los valores del parámetro dstId deben ser el UUID de una carpeta o de un expediente.
- Cuando el valor del parámetro newName es null, la carpeta conservará el mismo nombre.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); okmRecord.copy(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6", "newname"); } catch (Exception e) { e.printStackTrace(); } }}extendedCopy
Sección titulada «extendedCopy»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| extendedCopy(String token, String recId, String dstId, String newName, ExtendedAttributes extAttr) | void | Copia un expediente con sus datos asociados en una carpeta o en un expediente. |
- El valor del parámetro dstId debe ser el UUID de una carpeta o de un expediente.
- Cuando el valor del parámetro newName es null, el expediente conservará el mismo nombre.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.bean.ExtendedAttributes;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); ExtendedAttributes extAttr = new ExtendedAttributes(); extAttr.setKeywords(true); extAttr.setCategories(true); extAttr.setNotes(true);
okmRecord.extendedCopy(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474", "PKI-100201", extAttr); } catch (Exception e) { e.printStackTrace(); } }}isValid
Sección titulada «isValid»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| isValid(String token, String recId) | boolean | Devuelve un booleano que indica si el nodo es un expediente. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); boolean valid = okmRecord.isValid(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f"); System.out.println(valid); } catch (Exception e) { e.printStackTrace(); } }}getPath
Sección titulada «getPath»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getPath(String token, String recId) | String | Convierte el UUID de una carpeta en la ruta de un expediente. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); String path = okmRecord.getPath(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f"); System.out.println(path); } catch (Exception e) { e.printStackTrace(); } }}getChildren
Sección titulada «getChildren»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| getChildren(String token, String fldId) | List |
Devuelve una lista de todos los expedientes cuyo padre es fldId. |
- El parámetro fldId puede ser un nodo de tipo carpeta o de tipo expediente.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.bean.Record;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); for (Record rec : okmRecord.getChildren(null, "b6848ac2-345f-454e-964a-eba4dcc020e6")) { System.out.println(rec); } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| lock(String token, String recId) | LockInfo | Bloquea un expediente y devuelve un objeto con la información del bloqueo. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); okmRecord.lock(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| unlock(String token, String recId) | LockInfo | Desbloquea un expediente bloqueado. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); okmRecord.unlock(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f"); } catch (Exception e) { e.printStackTrace(); } }}forceUnlock
Sección titulada «forceUnlock»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| forceUnlock(String token, String recId) | void | Desbloquea un expediente bloqueado. |
- Este método permite desbloquear cualquier expediente bloqueado.
- No es obligatorio que el mismo usuario que realizó la acción de bloqueo del checkout ejecute esta acción.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); okmRecord.forceUnlock(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f"); } catch (Exception e) { e.printStackTrace(); } }}setTitle
Sección titulada «setTitle»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setTitle(String token, String recId, String title) | void | Establece el título de un expediente. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class); okmRecord.setTitle(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "new title"); } catch (Exception e) { e.printStackTrace(); } }}setNodeClass
Sección titulada «setNodeClass»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setNodeClass(String token, String recId, long ncId) | void | Establece la NodeClass. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
long ncId = 2; okmRecord.setNodeClass(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", ncId); } catch (Exception e) { e.printStackTrace(); } }}setDispositionStage
Sección titulada «setDispositionStage»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| setDispositionStage(String token, String recId, long stage) | void | Establece la etapa de disposición |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
long stage = 1; okmRecord.setDispositionStage(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", stage); } catch (Exception e) { e.printStackTrace(); } }}addNodeClassChildren
Sección titulada «addNodeClassChildren»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| addNodeClassChildren(String token, String recId, long ncId) | void | Añade la NodeClass del expediente a las carpetas padre. |
- Se utiliza con fines de navegación para determinar si una carpeta contiene un nodo de una clase de nodo determinada.
- El método propaga el valor de la clase de nodo a los contenedores padre (carpetas) para indicar que existe un nodo de este tipo.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
long ncId = 2; okmRecord.addNodeClassChildren(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", ncId); } catch (Exception e) { e.printStackTrace(); } }}setDescription
Sección titulada «setDescription»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.OKMRecord;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.setDescription(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", "some description"); } catch (Exception e) { e.printStackTrace(); } }}createWizard
Sección titulada «createWizard»Descripción:
| Método | Valores devueltos | Descripción |
|---|---|---|
| createWizard(String token, String recPath, String title, long nodeClass) | WizardNode | Crea un nuevo expediente mediante un asistente. |
- El parámetro recPath debe ser el UUID de una carpeta o de un expediente válido.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMRecord;import com.openkm.bean.WizardNode;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
WizardNode wn = okmRecord.createWizard(null, "1f323e88-64ee-4f57-91e2-9276f8c603f9", "PKI-100200", 0); System.out.print(wn); } catch (Exception e) { e.printStackTrace(); } }}