PageableFilter
Filtro con paginación. Inmutable (frozen), por lo que se puede compartir entre hilos.
Ejemplo General
```python
f = CommentFilter.builder().caso_id("c1").build()
f.get_page_size() # 20
```
Atributos
| Atributo | Tipo | Valor por defecto | Descripción |
|---|---|---|---|
pagination | Any | — | — |
Métodos
def get_page_number() -> int
Número de página actual (base 0).
Retorna: int — Índice de la página, 0 por defecto.
Ejemplo de uso:
```python
CaseFilter.builder().working_sub_state_id(FilterOperator.EQ, "w").page_number(2).build().get_page_number() # 2
```
def get_page_size() -> int
Tamaño de página del filtro.
Retorna: int — Elementos por página (20 por defecto; el máximo permitido es 200 en casos).
Ejemplo de uso:
```python
CaseFilter.builder().working_sub_state_id(FilterOperator.EQ, "w").page_size(200).build().get_page_size() # 200
```
def copy_for_next_page() -> Self
Crea una copia del filtro apuntando a la página siguiente; el original no cambia.
Retorna: Self — Nuevo filtro con page_number + 1.
Ejemplo de uso:
```python
f = CaseFilter.builder().working_sub_state_id(FilterOperator.EQ, "w").page_number(1).build()
f.copy_for_next_page().get_page_number() # 2
f.get_page_number() # 1 (sin cambios)
```