---
description: >-
  Gestiona un archivo dentro de la carpeta de Database para almacenar los
  registro por medio de JSON.
---

# Collection

**Constructor**

<table><thead><tr><th width="255">Parámetro</th><th width="128">Tipo</th><th width="366">Descripción</th></tr></thead><tbody><tr><td>src</td><td>String</td><td>Ruta del archivo que representa en la colección.</td></tr><tr><td>clazz</td><td>Class</td><td>Clase para adaptar los registro a una clase en particular en lugar de simplemente usar la clase Record para representar los registros.</td></tr></tbody></table>

(String src, Class clazz)



**Métodos**



Nombre: aim

Tipo de retorno: this

Descripción: Indicar a que ruta del archivo de la colección. Si no existe lo crea.

<table><thead><tr><th width="240">Parámetro</th><th width="175">Tipo</th><th width="334">Descripción</th></tr></thead><tbody><tr><td>src</td><td>String</td><td>Ruta del archivo que representa en la colección.</td></tr></tbody></table>

(String src)



Nombre: insert

Tipo de retorno: boolean

Descripción: Añade un registro dentro de la colección, recibiendo como parametro un objeto Record o una List\<Record>.

<table><thead><tr><th width="240">Parámetro</th><th width="175">Tipo</th><th width="334">Descripción</th></tr></thead><tbody><tr><td>record</td><td>Record</td><td>Objetivo que contiene los datos a insertar en la colección como un registro.</td></tr><tr><td>records</td><td>List&#x3C;Record></td><td>Lista de objetos Record.</td></tr></tbody></table>

(Record record) (List records)



Nombre: update

Tipo de retorno: boolean

Descripción: Recibe como parámetro un Filter y Record, donde en base al Filter actualiza los datos según lo contenido en Record.

<table><thead><tr><th width="240">Parámetro</th><th width="175">Tipo</th><th width="334">Descripción</th></tr></thead><tbody><tr><td>filter</td><td>Filter</td><td>Filtro de operaciones de comparación para obtener registros que coincidan.</td></tr><tr><td>record</td><td>Record</td><td>Clase de tipo de Record que contiene los datos a cambiar por cada registro coincidente con Filter.</td></tr></tbody></table>

(Filter filter, Record record)



Nombre: delete

Tipo de retorno: boolean

Descripción: Recibe como parámetro un Filter, donde en base al Filter eimina los registros que coincidan.

<table><thead><tr><th width="240">Parámetro</th><th width="175">Tipo</th><th width="334">Descripción</th></tr></thead><tbody><tr><td>filter</td><td>Filter</td><td>Filtro de operaciones de comparación para obtener registros que coincidan.</td></tr></tbody></table>

(Filter filter)



Nombre: find

Tipo de retorno: RecordList

Descripción: Obtener registros que coincidan con el Filter pasado como parámetro.

<table><thead><tr><th width="240">Parámetro</th><th width="175">Tipo</th><th width="334">Descripción</th></tr></thead><tbody><tr><td>filter</td><td>Filter</td><td>Filtro de operaciones de comparación para obtener registros que coincidan.</td></tr></tbody></table>

(Filter filter)



Nombre: all

Tipo de retorno: RecordList

Descripción: Obtener registros todos los registros.



Nombre: delete

Tipo de retorno: boolean

Descripción: Elimina todos los registro de la colección.



**Setters**

<table><thead><tr><th width="205.33333333333331">Método</th><th width="394">Descripción</th><th>Retorno</th></tr></thead><tbody><tr><td>db</td><td>Instancia de Database para que la colección acceder a su Logger.</td><td>Collection</td></tr></tbody></table>

**Getters**

<table><thead><tr><th width="205.33333333333331">Método</th><th width="394">Descripción</th><th>Retorno</th></tr></thead><tbody><tr><td>getDB</td><td>Instancia de Database para que la colección acceder a su Logger.</td><td>Collection</td></tr></tbody></table>



**Ejemplo de uso**

```java
/**
* Crear una instancia pasando como parametro la carpeta
* en donde se almacenarán las colecciones
**/
Database db=new Database("db");
/**
* Obtiene una instancia de Colecction apuntado a la carpeta
* de Database seguido del nombre de la colección para almacenar registro
**/
Colecction collection_personas=db.collection("personas");

// Crear un registro con datos
Record record=new Record();
record.set("nombre","Julio");
record.set("edad",21);

// Insertar registro
collection_personas.insert(record);

// Nuevo registro
Record record_new=new Record();
record_new.set("nombre","Martha");

// Filtro que busca registros en base a su identificado
Filter filter=Filter.eq(record_new.fieldId(),"19da9dcb8dfe1b52f8046819285dbacbc82613c50d883277d37167a5c18cc72f");

// Actualizar el registro
collection_personas.update(filter,record_new);

// Eliminar el registro
collection_personas.delete(filter);

// Obtener listado registro con Filter
RecordList<Record> records_find=collection_personas.find(filter);
Record record_find;
while((record_find=records_find.next())!=null){
    System.out.println(record_find.get("nombre"));
}

// Obtener todos los registros
RecordList<Record> records_all=collection_personas.all();
Record record_all;
while((record_all=records_all.next())!=null){
    System.out.println(record_all.toJson());
}

// Eliminar registro por Filter
Filter filter_delete=Filter.like("nombre","j");
collection_personas.delete(filter_delete);

// Eliminar todos los registros (elimina el archivo que representa la colección)
collection_personas.delete();
```
