Saltar al contenido principal

CommentFilter

Builder fluido para búsqueda de comentarios de un caso en Shori.

Permite buscar los comentarios registrados en un caso, con soporte de filtrado por UUID del caso, operadores, paginación y ordenamiento.

Se usa con client.caso().comment().search(filter).

Campos requeridos​

casoId — UUID del caso cuyos comentarios se quieren buscar. Obligatorio: #build() lanza ValidationException si no se especifica.

Operadores disponibles para casoId​

FilterOperator.EQ // Igual
FilterOperator.NE // Diferente
FilterOperator.GT // Mayor que
FilterOperator.GE // Mayor o igual
FilterOperator.LT // Menor que
FilterOperator.LE // Menor o igual
FilterOperator.IN // Lista de valores
FilterOperator.NOT_IN // No en la lista
FilterOperator.BETWEEN // Rango
FilterOperator.LIKE // Contiene
FilterOperator.LIKE_AFTER // Empieza con
FilterOperator.LIKE_BEFORE // Termina con
FilterOperator.IS_NULL // Es nulo
FilterOperator.IS_NOT_NULL // No es nulo

Campos opcionales​

  • pageNumber — número de página, default 0
  • pageSize — tamaño de página, default 20
  • orderBy — campo de ordenamiento, default "createdAt" sortDirection — dirección del orden, default SortDirection#DESC

Uso básico​

CommentSearchResult resultado = client.caso().comment().search(
CommentFilter.builder()
.casoId("caso-documentId")
.build()
);

El casoId será enviado como in:caso-documentId.

Uso con operador​

CommentSearchResult resultado = client.caso().comment().search(
CommentFilter.builder()
.casoId(FilterOperator.EQ, "caso-documentId")
.build()
);

Con paginación y ordenamiento​

CommentSearchResult resultado = client.caso().comment().search(
CommentFilter.builder()
.casoId("caso-documentId")
.pageNumber(0)
.pageSize(10)
.orderBy("createdAt")
.sortDirection(SortDirection.DESC)
.build()
);

Campos​

CampoTipoRestriccionesDescripción
casoIdStringOpcionalUUID del caso con su operador de filtrado.
paginationPaginationRequestOpcionalPaginación.

Metodos​

builder()​

Crea un nuevo builder de filtros de comentarios.

Retorna: Nueva instancia de CommentFilter lista para configurar.


casoId(String casoId)​

Establece el ID del caso.

Cuando se utiliza esta sobrecarga, se aplica FilterOperator#IN automáticamente.

Parametros:

  • casoId — UUID del caso.

Retorna: Este builder para encadenamiento.


casoId(FilterOperator operator, String... values)​

Establece el ID del caso utilizando el operador especificado.

.casoId(FilterOperator.EQ, "caso-documentId")

Parametros:

  • operator — operador de filtrado.
  • values — valores a utilizar con el operador.

Retorna: Este builder para encadenamiento.


pageNumber(int pageNumber)​

Configura el número de página.

Por defecto: 0.

Parametros:

  • pageNumber — número de página basado en cero.

Retorna: Este builder para encadenamiento.


pageSize(int pageSize)​

Establece el tamaño de página.

Por defecto: 20. El valor permitido está entre 1 y 200.

Parametros:

  • pageSize — cantidad de registros por página.

Retorna: Este builder para encadenamiento.


orderBy(String orderBy)​

Establece el campo por el que se ordenan los comentarios.

Por defecto: "createdAt".

Parametros:

  • orderBy — nombre del campo de ordenamiento.

Retorna: Este builder para encadenamiento.


sortDirection(SortDirection sortDirection)​

Establece la dirección del ordenamiento.

Por defecto: SortDirection#DESC.

Parametros:

  • sortDirection — dirección del ordenamiento.

Retorna: Este builder para encadenamiento.


build()​

Valida y finaliza la construcción del filtro.

El filtro queda completamente serializado y listo para enviarse al API. Los operadores se aplican durante la construcción mediante los métodos del builder.

Retorna: Este mismo objeto configurado.

Lanza:

  • ValidationException — si casoId no fue especificado.

nextPage()​

Avanza a la siguiente página modificando esta instancia.

Retorna: Esta misma instancia.


copyForNextPage()​

Retorna una copia para la siguiente página.

El casoId se copia directamente para conservar el operador ya aplicado y evitar generar valores como in:in:UUID.

Retorna: Una nueva instancia apuntando a la siguiente página.