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