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, default0pageSize— tamaño de página, default20orderBy— campo de ordenamiento, default"createdAt"sortDirection— dirección del orden, defaultSortDirection#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
| Campo | Tipo | Restricciones | Descripción |
|---|---|---|---|
casoId | String | Opcional | UUID del caso con su operador de filtrado. |
pagination | PaginationRequest | Opcional | Paginació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— sicasoIdno 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.