Class AbstractContentBasedSearchable
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.web.frontoffice.search.metamodel.impl.AbstractParameterAdder
-
- org.ametys.web.frontoffice.search.metamodel.impl.AbstractParameterAdderSearchable
-
- org.ametys.web.frontoffice.search.metamodel.impl.AbstractContentBasedSearchable
-
- All Implemented Interfaces:
Cacheable
,LogEnabled
,PluginAware
,Searchable
,Disposable
,Initializable
,Configurable
,Contextualizable
,Serviceable
- Direct Known Subclasses:
ContentSearchable
,CourseSearchable
,PrivateContentSearchable
,ProgramSearchable
public abstract class AbstractContentBasedSearchable extends AbstractParameterAdderSearchable implements Initializable, Contextualizable, Disposable, Cacheable
Abstract class for allSearchable
based onContent
s
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ametys.core.util.Cacheable
Cacheable.SingleCacheConfiguration
-
-
Field Summary
Fields Modifier and Type Field Description protected Returnable
_associatedContentReturnable
The associated content returnableprotected ContentHelper
_contentHelper
The content helperprotected int
_criteriaPosition
The criteria positionprotected ContentTypeExtensionPoint
_cTypeEP
The extension point for content typesprotected String
_id
The id of extension pointprotected I18nizableText
_label
The labelprotected Returnable
_pageReturnable
The page returnable-
Fields inherited from class org.ametys.web.frontoffice.search.metamodel.impl.AbstractParameterAdder
_manager, _pluginName
-
-
Constructor Summary
Constructors Constructor Description AbstractContentBasedSearchable()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
_setAssociatedContentReturnable()
protected abstract String
associatedContentReturnableRole()
The Avalon Role for the associated Content Returnablevoid
configure(Configuration configuration)
void
contextualize(Context context)
int
criteriaPosition()
The position of the criteria provided by thisSearchable
among criteria provided by otherSearchable
s.void
dispose()
AbstractCacheManager
getCacheManager()
Returns the instance of the implementation ofAbstractCacheManager
to use.protected abstract Collection<String>
getContentTypes(AdditionalParameterValueMap additionalParameterValues)
Gets the content types which will be used to retrieve the criteria relative to the Indexing ModelCollection<SearchCriterionDefinition>
getCriteria(AdditionalParameterValueMap additionalParameterValues)
Gets the criteriaprotected abstract String
getCriterionDefinitionPrefix()
Gets the prefix for criterion definitionsprotected String
getIndexingFieldCriterionDefinitionPrefix()
Gets the prefix for the ids of indexing field criterion definitionsI18nizableText
getLabel()
Gets the label of the searchableCollection<Cacheable.SingleCacheConfiguration>
getManagedCaches()
Gets the managed caches.protected String
getSystemPropertyCriterionDefinitionPrefix()
Gets the prefix for the ids of system property criterion definitionsboolean
hasComputableSize()
Determines if the cache has a computable size.void
initialize()
Collection<Returnable>
relationsWith()
Retrieves the relations the type must have with someReturnable
s.void
service(ServiceManager manager)
-
Methods inherited from class org.ametys.web.frontoffice.search.metamodel.impl.AbstractParameterAdder
additionalServiceParameters, setPluginInfo
-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.core.util.Cacheable
createCaches, getCache, isCachingEnabled, removeCaches
-
Methods inherited from interface org.ametys.web.frontoffice.search.metamodel.Searchable
additionalServiceParameters, joinQuery
-
-
-
-
Field Detail
-
_label
protected I18nizableText _label
The label
-
_criteriaPosition
protected int _criteriaPosition
The criteria position
-
_pageReturnable
protected Returnable _pageReturnable
The page returnable
-
_associatedContentReturnable
protected Returnable _associatedContentReturnable
The associated content returnable
-
_cTypeEP
protected ContentTypeExtensionPoint _cTypeEP
The extension point for content types
-
_contentHelper
protected ContentHelper _contentHelper
The content helper
-
-
Constructor Detail
-
AbstractContentBasedSearchable
public AbstractContentBasedSearchable()
-
-
Method Detail
-
configure
public void configure(Configuration configuration) throws ConfigurationException
- Specified by:
configure
in interfaceConfigurable
- Overrides:
configure
in classAbstractParameterAdder
- Throws:
ConfigurationException
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classAbstractParameterAdder
- Throws:
ServiceException
-
_setAssociatedContentReturnable
protected void _setAssociatedContentReturnable()
Sets_associatedContentReturnable
. Called duringinitialize()
-
associatedContentReturnableRole
protected abstract String associatedContentReturnableRole()
The Avalon Role for the associated Content Returnable- Returns:
- The Avalon Role for the associated Content Returnable
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
initialize
public void initialize() throws Exception
- Specified by:
initialize
in interfaceInitializable
- Throws:
Exception
-
getCacheManager
public AbstractCacheManager getCacheManager()
Description copied from interface:Cacheable
Returns the instance of the implementation ofAbstractCacheManager
to use.
This is not meant to be called manually.- Specified by:
getCacheManager
in interfaceCacheable
- Returns:
- The
AbstractCacheManager
to bind
-
getManagedCaches
public Collection<Cacheable.SingleCacheConfiguration> getManagedCaches()
Description copied from interface:Cacheable
Gets the managed caches.
This is meant to be implemented in order to describe the managed caches and automatically create and remove the corresponding caches inCacheable.createCaches()
andCacheable.removeCaches()
default methods.
This is not meant to be called manually.- Specified by:
getManagedCaches
in interfaceCacheable
- Returns:
- A collection of
Cacheable.SingleCacheConfiguration
s to manage
-
hasComputableSize
public boolean hasComputableSize()
Description copied from interface:Cacheable
Determines if the cache has a computable size. This operation can be very slow.- Specified by:
hasComputableSize
in interfaceCacheable
- Returns:
true
if we can compute the size on the cache.
-
getSystemPropertyCriterionDefinitionPrefix
protected String getSystemPropertyCriterionDefinitionPrefix()
Gets the prefix for the ids of system property criterion definitions- Returns:
- the prefix for the ids of system property criterion definitions
-
getCriterionDefinitionPrefix
protected abstract String getCriterionDefinitionPrefix()
Gets the prefix for criterion definitions- Returns:
- the prefix for criterion definitions
-
dispose
public void dispose()
- Specified by:
dispose
in interfaceDisposable
-
getLabel
public I18nizableText getLabel()
Description copied from interface:Searchable
Gets the label of the searchable- Specified by:
getLabel
in interfaceSearchable
- Returns:
- the label of the searchable
-
criteriaPosition
public int criteriaPosition()
Description copied from interface:Searchable
The position of the criteria provided by thisSearchable
among criteria provided by otherSearchable
s.
All criteria provided by the sameSearchable
are always packed together, this integer just affects the relative position compared to otherSearchable
criteria.
The lowest the integer, the higher it will appear in the UI.- Specified by:
criteriaPosition
in interfaceSearchable
- Returns:
- The position of the criteria of this
Searchable
-
getCriteria
public Collection<SearchCriterionDefinition> getCriteria(AdditionalParameterValueMap additionalParameterValues)
Description copied from interface:Searchable
Gets the criteria- Specified by:
getCriteria
in interfaceSearchable
- Parameters:
additionalParameterValues
- The additional parameter values- Returns:
- the criteria
-
getContentTypes
protected abstract Collection<String> getContentTypes(AdditionalParameterValueMap additionalParameterValues)
Gets the content types which will be used to retrieve the criteria relative to the Indexing Model- Parameters:
additionalParameterValues
- The additional parameter values- Returns:
- the content types which will be used to retrieve the criteria relative to the Indexing Model
-
getIndexingFieldCriterionDefinitionPrefix
protected String getIndexingFieldCriterionDefinitionPrefix()
Gets the prefix for the ids of indexing field criterion definitions- Returns:
- the prefix for the ids of indexing field criterion definitions
-
relationsWith
public Collection<Returnable> relationsWith()
Description copied from interface:Searchable
Retrieves the relations the type must have with someReturnable
s.
It does not have to be exhaustive (for instance ifReturnable.relationsWith()
declares the relation, it is useless to declare it twice)- Specified by:
relationsWith
in interfaceSearchable
- Returns:
- some relations the type must have with some
Returnable
s
-
-