Interface Searchable
- All Known Implementing Classes:
AbstractContentBasedSearchable,AbstractParameterAdderSearchable,CalendarContentSearchable,ContentSearchable,CourseSearchable,PageSearchable,PrivateContentSearchable,ProgramSearchable,ResourceSearchable
public interface Searchable
Brings a set of criteria, facets, sorts on a type of objects.
-
Method Summary
Modifier and TypeMethodDescriptiondefault Collection<Configuration>Retrieves the additional parameters to add to the search service
The ids of the parameters must be unique across allReturnables andSearchablesbuildQuery(AbstractTreeNode<FOSearchCriterion> criterionTree, Map<String, Object> userCriteria, Collection<Returnable> returnables, Collection<Searchable> searchables, AdditionalParameterValueMap additionalParameters, String currentLang, Map<String, Object> contextualParameters) Builds the query of the criterion treedefault intThe position of the criteria provided by thisSearchableamong criteria provided by otherSearchables.getCriteria(AdditionalParameterValueMap additionalParameterValues) Gets the criteriagetLabel()Gets the label of the searchablejoinQuery(Query queryOnCriterion, SearchCriterionDefinition criterion, Collection<Returnable> returnables, AdditionalParameterValueMap additionalParameters) Returns the query which joins the given one (on a criterion) with the given result typesdefault Collection<Returnable>Retrieves the relations the type must have with someReturnables.
-
Method Details
-
getLabel
Gets the label of the searchable- Returns:
- the label of the searchable
-
relationsWith
Retrieves the relations the type must have with someReturnables.
It does not have to be exhaustive (for instance ifReturnable.relationsWith()declares the relation, it is useless to declare it twice)- Returns:
- some relations the type must have with some
Returnables
-
additionalServiceParameters
Retrieves the additional parameters to add to the search service
The ids of the parameters must be unique across allReturnables andSearchables- Returns:
- some additional parameters to add to the search service
-
getCriteria
Collection<SearchCriterionDefinition> getCriteria(AdditionalParameterValueMap additionalParameterValues) Gets the criteria- Parameters:
additionalParameterValues- The additional parameter values- Returns:
- the criteria
-
criteriaPosition
The position of the criteria provided by thisSearchableamong criteria provided by otherSearchables.
All criteria provided by the sameSearchableare always packed together, this integer just affects the relative position compared to otherSearchablecriteria.
The lowest the integer, the higher it will appear in the UI.- Returns:
- The position of the criteria of this
Searchable
-
joinQuery
Optional<Query> joinQuery(Query queryOnCriterion, SearchCriterionDefinition criterion, Collection<Returnable> returnables, AdditionalParameterValueMap additionalParameters) Returns the query which joins the given one (on a criterion) with the given result types- Parameters:
queryOnCriterion- The query on the criterion to join fromcriterion- the criterionreturnables- The returnables to join toadditionalParameters- The additional parameters- Returns:
- the joined query
-
buildQuery
Query buildQuery(AbstractTreeNode<FOSearchCriterion> criterionTree, Map<String, Object> userCriteria, Collection<Returnable> returnables, Collection<Searchable> searchables, AdditionalParameterValueMap additionalParameters, String currentLang, Map<String, Object> contextualParameters) Builds the query of the criterion tree- Parameters:
criterionTree- The criterion tree of the service instanceuserCriteria- The user input criteriareturnables- The returnables of the service instancesearchables- The searchables of the service instanceadditionalParameters- The values of additional parameters of the service instancecurrentLang- The current langcontextualParameters- the search contextual parameters.- Returns:
- The query of the criterion tree
-