CampaignValueFilterAdapter.ktAnnotations: param
Classes: CampaignValueFilterAdapter
Supertype(s): CustomResultFilter
Functions (1): match
Properties (3): addressFilter, address, tempList
Imports: 3 packages
Package: org.projectforge.plugins.marketing.rest
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
/**
* Generic adapter that wraps any CustomResultFilter<AddressDO> to work with AddressCampaignValueDO.
* This allows reusing existing address filters (like FavoritesResultFilter, DoubletsResultFilter)
* with address campaign values without duplicating filter logic.
*
* @param addressFilter The address filter to wrap
*/
class CampaignValueFilterAdapter(
private val addressFilter: CustomResultFilter<AddressDO>
) : CustomResultFilter<AddressCampaignValueDO> {
/**
* Delegates the match decision to the wrapped address filter.
* Returns false if the campaign value has no associated address.
*/
override fun match(list: MutableList<AddressCampaignValueDO>, element: AddressCampaignValueDO): Boolean {
val address = element.address ?: return false
val tempList = mutableListOf<AddressDO>()
return addressFilter.match(tempList, address)
}
}
868d6abb7 2025 -> 2026 594a957dc WIP: Address campaign values