the-algorithm/product-mixer/component-library/src/main/scala/com/twitter/product_mixer/component_library/decorator/urt/builder/item/generic_summary/GenericSummaryContextBuilder.scala
twitter-team ef4c5eb65e Twitter Recommendation Algorithm
Please note we have force-pushed a new initial commit in order to remove some publicly-available Twitter user information. Note that this process may be required in the future.
2023-03-31 17:36:31 -05:00

23 lines
1018 B
Scala

package com.twitter.product_mixer.component_library.decorator.urt.builder.item.generic_summary
import com.twitter.product_mixer.core.feature.featuremap.FeatureMap
import com.twitter.product_mixer.core.functional_component.decorator.urt.builder.richtext.BaseRichTextBuilder
import com.twitter.product_mixer.core.model.common.UniversalNoun
import com.twitter.product_mixer.core.model.marshalling.response.urt.icon.HorizonIcon
import com.twitter.product_mixer.core.model.marshalling.response.urt.item.generic_summary.GenericSummaryContext
import com.twitter.product_mixer.core.pipeline.PipelineQuery
case class GenericSummaryContextBuilder[-Query <: PipelineQuery, -Candidate <: UniversalNoun[Any]](
richTextBuilder: BaseRichTextBuilder[Query, Candidate],
icon: Option[HorizonIcon] = None) {
def apply(
query: Query,
candidate: Candidate,
candidateFeatures: FeatureMap
): GenericSummaryContext = GenericSummaryContext(
richTextBuilder.apply(query, candidate, candidateFeatures),
icon
)
}