Saltar al contenido principal

FilterOperator

Operadores de filtrado disponibles en la API de Shori.

Define todos los operadores de comparación que soporta la plataforma Shori para construir búsquedas dinámicas. Se usa en combinación con CaseFilter.

Uso básico

FilterOperator.EQ.apply("valor")"eq:valor"
FilterOperator.IN.apply("a", "b", "c")"in:a, b, c"
FilterOperator.BETWEEN.apply("1", "100")"bt:1, 100"
FilterOperator.IS_NULL.apply()"null:"
FilterOperator.LIKE.apply("García")"lk:García"

Tabla de operadores

| Operador | Símbolo | Descripción |
|------------|----------|------------------------------------------|
| EQ | eq | Igual a |
| NE | ne | Distinto de |
| GT | gt | Mayor que |
| GE | ge | Mayor o igual que |
| LT | lt | Menor que |
| LE | le | Menor o igual que |
| IN | in | En la lista de valores |
| NOT_IN | notin | No en la lista de valores |
| BETWEEN | bt | Entre dos valores (sep. por coma) |
| LIKE | lk | Contiene (case sensitive) |
| LIKE_AFTER | lka | Empieza con |
| LIKE_BEFORE| lkb | Termina con |
| IS_NULL | null | Es nulo |
| IS_NOT_NULL| notnull | No es nulo |

Metodos

apply(String value)

Aplica el operador a un valor simple. Ejemplo: EQ.apply("valor") → "eq:valor"

Parametros:

  • value — Valor a filtrar

Retorna: String con el operador aplicado


apply(String... values)

Aplica el operador a múltiples valores (para IN, NOT_IN, BETWEEN). Las comas en los valores son reemplazadas por (#%%#) automáticamente. Ejemplo: IN.apply("a", "b", "c") → "in:a, b, c" Ejemplo: BETWEEN.apply("2024-01-01", "2024-12-31") → "bt:2024-01-01, 2024-12-31"

Parametros:

  • values — Valores a incluir

Retorna: String con el operador aplicado


hasOperator(String value)

Verifica si el valor ya tiene un operador aplicado. Útil para evitar aplicar el operador dos veces.

Parametros:

  • value — Valor a verificar