Class PredefinedBucketsFacetExtractor

java.lang.Object
com.day.cq.search.facets.extractors.PropertyFacetExtractor
com.day.cq.search.facets.extractors.PredefinedBucketsFacetExtractor
All Implemented Interfaces:
FacetExtractor

public class PredefinedBucketsFacetExtractor extends PropertyFacetExtractor
PredefinedBucketsFacetExtractor extracts facets based on a list of predefined buckets. This means that the buckets returned will at most be the ones added in the constructor or through addPredefinedBucket(PredefinedBucket), but could be less, because only buckets with at least one match will be returned in the facet.
Since:
5.2
  • Constructor Details

    • PredefinedBucketsFacetExtractor

      public PredefinedBucketsFacetExtractor(String propertyRelPath)
    • PredefinedBucketsFacetExtractor

      public PredefinedBucketsFacetExtractor(String propertyRelPath, Collection<? extends PredefinedBucket> buckets)
  • Method Details

    • addPredefinedBucket

      public void addPredefinedBucket(PredefinedBucket bucket)
      Adds a predefined bucket to this extractor.
      Parameters:
      definition - the bucket definition to add.
    • getFacet

      public Facet getFacet()
      Description copied from interface: FacetExtractor
      Called after the result set was scanned (and FacetExtractor.handleNode(Node) was called for each node in the result) to retrieve the final Facet object. Please note that this might be called without FacetExtractor.handleNode(Node) ever being called, if the result was empty.

      Implementations can use the simple FacetImpl implementation of the Facet interface.

      Returns:
      an implementation of the Facet interface with all buckets found in the result or null if nothing was found in the result
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object