Class FacetedQueryResultMerger<R extends io.vertigo.datamodel.data.model.DataObject,S>

java.lang.Object
io.vertigo.datafactory.collections.model.FacetedQueryResultMerger<R,S>
Type Parameters:
R - Result object's type
S - Source object's type

public final class FacetedQueryResultMerger<R extends io.vertigo.datamodel.data.model.DataObject,S> extends Object
Search faceted result merger. First element is use for source, the empty result list's type (result's elements are in cluster not in list) Build a cluster in result for each merged list. List are merge if use the same filter when merging, in this case they must use the same type.
Author:
npiedeloup
  • Constructor Details

    • FacetedQueryResultMerger

      public FacetedQueryResultMerger()
      Constructor merger should create a facet for this cluster.
  • Method Details

    • add

      public FacetedQueryResultMerger<R,S> add(FacetedQueryResult<?,S> result, String resultcode, String resultFilter, String resultLabel, io.vertigo.core.locale.LocaleMessageKey resultLabelKey)
      Merger should create a facet for this cluster.
      Parameters:
      result - Result to merge
      resultcode - Code for result
      resultFilter - SearchQuery filter for result
      resultLabel - Default string label for result
      resultLabelKey - MessageKey label for result
      Returns:
      this builder
    • withFacet

      public FacetedQueryResultMerger<R,S> withFacet(String facetDefinitionName)
      Merger should create a facet for this cluster.
      Parameters:
      facetDefinitionName - FacetDefinitionName
      Returns:
      this builder
    • toFacetedQueryResult

      public FacetedQueryResult<R,S> toFacetedQueryResult()
      Merge data.
      Returns:
      get merged result as a new result