Class FacetDefinition


  • public class FacetDefinition
    extends java.lang.Object

    Definition of a facet.

    Has a name, and a list of category definitions.

    Since:
    11.0
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  FacetDefinition.Schema
      Constants for the facete_navigation.cfg XML tags.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List<CategoryDefinition> categoryDefinitions
      List of category definitions.
      private @NotNull com.funnelback.common.facetednavigation.models.FacetConstraintJoin constraintJoin  
      private @NotNull com.funnelback.common.facetednavigation.models.FacetValues facetValues  
      private java.lang.String name
      Name of the facet (Ex: "Location")
      private @NotNull java.util.List<com.funnelback.common.facetednavigation.models.FacetValuesOrder> order  
      private @NotNull com.funnelback.common.facetednavigation.models.FacetSelectionType selectionType  
    • Constructor Summary

      Constructors 
      Constructor Description
      FacetDefinition​(java.lang.String name, java.util.List<CategoryDefinition> categoryDefinitions, com.funnelback.common.facetednavigation.models.FacetSelectionType selectionType, com.funnelback.common.facetednavigation.models.FacetConstraintJoin constraintJoin, com.funnelback.common.facetednavigation.models.FacetValues facetValues, java.util.List<com.funnelback.common.facetednavigation.models.FacetValuesOrder> order)  
    • Field Detail

      • name

        private final java.lang.String name
        Name of the facet (Ex: "Location")
      • categoryDefinitions

        private final java.util.List<CategoryDefinition> categoryDefinitions

        List of category definitions.

        A category definition defines how the values for this facet will be calculated, based on metadata counts, URL counts or GScope counts.

      • selectionType

        @NotNull
        @NonNull
        private @NotNull com.funnelback.common.facetednavigation.models.FacetSelectionType selectionType
      • constraintJoin

        @NotNull
        @NonNull
        private @NotNull com.funnelback.common.facetednavigation.models.FacetConstraintJoin constraintJoin
      • facetValues

        @NotNull
        @NonNull
        private @NotNull com.funnelback.common.facetednavigation.models.FacetValues facetValues
      • order

        @NotNull
        @NonNull
        private @NotNull java.util.List<com.funnelback.common.facetednavigation.models.FacetValuesOrder> order
    • Constructor Detail

      • FacetDefinition

        public FacetDefinition​(java.lang.String name,
                               java.util.List<CategoryDefinition> categoryDefinitions,
                               @NonNull
                               com.funnelback.common.facetednavigation.models.FacetSelectionType selectionType,
                               @NonNull
                               com.funnelback.common.facetednavigation.models.FacetConstraintJoin constraintJoin,
                               @NonNull
                               com.funnelback.common.facetednavigation.models.FacetValues facetValues,
                               @NonNull
                               java.util.List<com.funnelback.common.facetednavigation.models.FacetValuesOrder> order)
    • Method Detail

      • getAllQueryStringParamNames

        public java.util.Set<java.lang.String> getAllQueryStringParamNames()
        Recursively get the list of all query string parameters used.
        Returns:
        The list of every query string parameter used in this facet definition, for every categories definition and sub category definitions.
      • getFacetWithUpgradedValues

        public static FacetDefinition getFacetWithUpgradedValues​(java.lang.String name,
                                                                 java.util.List<CategoryDefinition> categoryDefinitions)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getName

        public java.lang.String getName()
        Name of the facet (Ex: "Location")
      • getCategoryDefinitions

        public java.util.List<CategoryDefinition> getCategoryDefinitions()

        List of category definitions.

        A category definition defines how the values for this facet will be calculated, based on metadata counts, URL counts or GScope counts.

      • getSelectionType

        @NonNull
        public com.funnelback.common.facetednavigation.models.FacetSelectionType getSelectionType()
      • getConstraintJoin

        @NonNull
        public com.funnelback.common.facetednavigation.models.FacetConstraintJoin getConstraintJoin()
      • getFacetValues

        @NonNull
        public com.funnelback.common.facetednavigation.models.FacetValues getFacetValues()
      • getOrder

        @NonNull
        public java.util.List<com.funnelback.common.facetednavigation.models.FacetValuesOrder> getOrder()