OKMRecord
Fundamentos
Sección titulada «Fundamentos»En la mayoría de los métodos verá un parámetro llamado “recId”. El valor de este parámetro puede ser un UUID de record válido.
Además, en todos los métodos verá un parámetro llamado “token”. Como las tareas de Cron se ejecutan en segundo plano sin autenticación, los métodos usados en ese escenario pueden 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”.
Métodos
Sección titulada «Métodos»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| create(String token, Record rec) | Record | Crea un nuevo record 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 de retorno | Descripción |
|---|---|---|
| createSimple(String token, String recPath) | Record | Crea un nuevo record y devuelve como resultado 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 de retorno | Descripción |
|---|---|---|
| getProperties(String token, String recId) | Record | Devuelve las propiedades del record. |
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 de retorno | Descripción |
|---|---|---|
| delete(String token, String recId) | void | Elimina un 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); okmRecord.delete(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| purge(String token, String recId) | void | El record se elimina permanentemente del repositorio. |
- Habitualmente purgará carpetas dentro de /okm:trash/userId -la papelera personal del usuario-, pero es posible purgar directamente cualquier record de todo el 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 de retorno | Descripción |
|---|---|---|
| rename(String token, String recId, String newName) | Record | Renombra un 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); okmRecord.rename(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "newname"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| move(String token, String recId, String dstId) | void | Mueve un record a una carpeta u otro record. |
- El valor del parámetro dstId debería ser un UUID de carpeta o 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); okmRecord.move(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| copy(String token, String recId, String dstId) | void | Copia un record a una carpeta o record. |
- El valor del parámetro dstId debería ser un UUID de carpeta o 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); okmRecord.copy(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| copy(String token, String recId, String dstId, String newName) | void | Copia un record a una carpeta o record. |
- El valor del parámetro dstId debería ser un UUID de carpeta o record.
- Cuando el valor del parámetro newName es null, el record 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 de retorno | Descripción |
|---|---|---|
| extendedCopy(String token, String recId, String dstId, String newName, ExtendedAttributes extAttr) | void | Copia un record con sus datos asociados a una carpeta o record. |
- El valor del parámetro dstId debería ser un UUID de carpeta o record.
- Cuando el valor del parámetro newName es null, el record 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 de retorno | Descripción |
|---|---|---|
| isValid(String token, String recId) | boolean | Devuelve un booleano que indica si el nodo es un record o no. |
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 de retorno | Descripción |
|---|---|---|
| getPath(String token, String recId) | String | Convierte el UUID de una carpeta en la ruta de un 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 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 de retorno | Descripción |
|---|---|---|
| getChildren(String token, String fldId) | List |
Devuelve una lista de todos los records cuyo padre es fldId. |
- El parámetro fldId puede ser un nodo de carpeta o de record.
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 de retorno | Descripción |
|---|---|---|
| lock(String token, String recId) | LockInfo | Bloquea un record 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 de retorno | Descripción |
|---|---|---|
| unlock(String token, String recId) | LockInfo | Desbloquea un record 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 de retorno | Descripción |
|---|---|---|
| forceUnlock(String token, String recId) | void | Desbloquea un record bloqueado. |
- Este método permite desbloquear cualquier record bloqueado.
- No es necesario que la ejecute el mismo usuario que realizó previamente el bloqueo por checkout.
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 de retorno | Descripción |
|---|---|---|
| setTitle(String token, String recId, String title) | void | Establece el título de un 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); 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 de retorno | Descripción |
|---|---|---|
| setNodeClass(String token, String recId, long ncId) | void | Establece el 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 de retorno | 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 de retorno | Descripción |
|---|---|---|
| addNodeClassChildren(String token, String recId, long ncId) | void | Añade el NodeClass del record a las carpetas padre. |
- Se usa con fines de navegación, para evaluar cuándo una carpeta contiene un nodo de esta clase de nodo.
- El método propaga el valor de la clase de nodo a los contenedores padre (carpetas) para indicar que hay 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 de retorno | 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 de retorno | Descripción |
|---|---|---|
| createWizard(String token, String recPath, String title, long nodeClass) | WizardNode | Crea un nuevo record con un asistente (wizard). |
- El parámetro recPath debe ser cualquier UUID válido de carpeta o record
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(); } }}