Interface SearchCriterion

All Superinterfaces:
Field
All Known Subinterfaces:
IndexingFieldSearchCriterion, SearchUICriterion, SystemSearchCriterion
All Known Implementing Classes:
AbstractCustomSearchUICriterion, AbstractSearchUICriterion, ContentPrivacySearchUICriterion, DynamicWrappedSearchUIModel.WrappedSearchUICriterion, IndexingFieldAggregatorSearchUICriterion, IndexingFieldSearchUICriterion, PageSearchUICriterion, ProgramItemContextSearchUICriteria, ShareableCourseSearchUICriteria, SolrFilterSearchUICriterion, SystemSearchUICriterion

public interface SearchCriterion extends Field
Represents a Field that can be searched on.
  • Method Details

    • getId

      Get the SearchCriterion ID.
      Returns:
      the SearchCriterion ID.
    • isSortable

      default boolean isSortable()
      Test if the SearchCriterion is sortable.
      Returns:
      true if the criterion is sortable, false otherwise.
    • isSortable

      static boolean isSortable(Field field)
      Test if a field is sortable.
      Parameters:
      field - the field to test.
      Returns:
      true if the field is sortable, false otherwise.
    • isFacetable

      default boolean isFacetable()
      Test if the criterion can be set as a facet (i.e. it has a defined list of discrete values).
      Returns:
      true if the criterion can be set as a facet, false otherwise.
    • isFacetable

      static boolean isFacetable(MetadataType type, boolean isEnumerated)
      Test if a field is facetable.
      Parameters:
      type - the type of the metadata
      isEnumerated - is the metadata enumerated ?
      Returns:
      true if the field can be used as a facet, false otherwise.
    • getOperator

      Get the criterion Operator.
      Returns:
      the criterion Operator.
    • getQuery

      default Query getQuery(Object value, Map<String,Object> allValues, String language, Map<String,Object> contextualParameters)
      Get the Query associated to the given value.
      Parameters:
      value - The user-submitted value (or the default value if not set) for this criterion.
      allValues - All the user-submitted values.
      language - The current search language.
      contextualParameters - the search contextual parameters.
      Returns:
      Query associated to the given value.
    • getQuery

      Query getQuery(Object value, Query.Operator customOperator, Map<String,Object> allValues, String language, Map<String,Object> contextualParameters)
      Get the Query associated to the given value.
      Parameters:
      value - The user-submitted value (or the default value if not set) for this criterion.
      customOperator - In advanced search mode, the operator chosen by the user. null to use the criterion-defined operator (simple search mode).
      allValues - All the user-submitted values.
      language - The current search language.
      contextualParameters - the search contextual parameters.
      Returns:
      Query associated to the given value.
    • getSearchField

      Get the SearchField representing this search criterion.
      Returns:
      the SearchField representing this search criterion.