CampaignValueFilterAdapter.ktАннотации: param
Классы: CampaignValueFilterAdapter
Супертип(ы): CustomResultFilter
Функции (1): match
Свойства (3): addressFilter, address, tempList
Импорты: 3 пакета
Пакет: 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
/**
* Универсальный адаптер, оборачивающий любой CustomResultFilter<AddressDO> для работы с AddressCampaignValueDO.
* Это позволяет повторно использовать существующие фильтры адресов (например, FavoritesResultFilter, DoubletsResultFilter)
* с кампанийными значениями адресов без дублирования логики фильтрации.
*
* @param addressFilter Фильтр адресов для обёртки
*/
class CampaignValueFilterAdapter(
private val addressFilter: CustomResultFilter<AddressDO>
) : CustomResultFilter<AddressCampaignValueDO> {
/**
* Делегирует решение о соответствии обёрнутому фильтру адресов.
* Возвращает false, если кампанийное значение не имеет связанного адреса.
*/
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: Кампанийные значения адресов