EN · DE · RU · FR · ES

#203: CampaignValueFilterAdapter.kt

plugins/org.projectforge.plugins.marketing/src/main/kotlin/org/projectforge/plugins/marketing/rest/CampaignValueFilterAdapter.kt Tipo: Kotlin · Rol: Registro de Plugin · Fuente: plugins/org.projectforge.plugins.marketing/src/main/kotlin/org/projectforge/plugins/marketing/rest/CampaignValueFilterAdapter.kt 50 líneas · 13 código · 33 comentarios · 4 en blanco
Bean de criterios de filtro/búsqueda para consultas de CampaignValueAdapter. Extiende BaseSearchFilter para proporcionar parámetros de consulta tipados para vistas de lista y exportaciones a Excel.

Estructura del código

Anotaciones: param

Clases: CampaignValueFilterAdapter

Super-tipo(s): CustomResultFilter

Funciones (1): match

Propiedades (3): addressFilter, address, tempList

Importaciones: 3 paquetes

Paquete: org.projectforge.plugins.marketing.rest

Código fuente (resumido)

package org.projectforge.plugins.marketing.rest

import org.projectforge.business.address.AddressDO
import org.projectforge.framework.persistence.api.impl.CustomResultFilter
import org.projectforge.plugins.marketing.AddressCampaignValueDO

/**
 * Adaptador genérico que envuelve cualquier CustomResultFilter<AddressDO> para trabajar con AddressCampaignValueDO.
 * Esto permite reutilizar filtros de dirección existentes (como FavoritesResultFilter, DoubletsResultFilter)
 * con valores de campaña de dirección sin duplicar la lógica de filtrado.
 *
 * @param addressFilter El filtro de dirección a envolver
 */
class CampaignValueFilterAdapter(
    private val addressFilter: CustomResultFilter<AddressDO>
) : CustomResultFilter<AddressCampaignValueDO> {

    /**
     * Delega la decisión de coincidencia al filtro de dirección envuelto.
     * Devuelve falso si el valor de la campaña no tiene una dirección asociada.
     */
    override fun match(list: MutableList<AddressCampaignValueDO>, element: AddressCampaignValueDO): Boolean {
        val address = element.address ?: return false
        val tempList = mutableListOf<AddressDO>()
        return addressFilter.match(tempList, address)
    }
}

Historial Git

868d6abb7 2025 -> 2026
594a957dc WIP: Valores de campaña de dirección