Package org.ametys.cms.search.systemprop
Class AbstractUserIndexableSystemProperty<X extends ModelAwareDataAwareAmetysObject>
java.lang.Object
org.ametys.runtime.model.AbstractModelItem
org.ametys.runtime.model.DefaultElementDefinition<UserIdentity>
org.ametys.cms.model.properties.AbstractProperty<UserIdentity,X>
org.ametys.cms.search.systemprop.AbstractSystemProperty<UserIdentity,X>
org.ametys.cms.search.systemprop.AbstractUserSystemProperty<X>
org.ametys.cms.search.systemprop.AbstractUserIndexableSystemProperty<X>
- Type Parameters:
X
- type of ametys object supported by this property
- All Implemented Interfaces:
Comparable<ModelItem>
,Property<UserIdentity,
,X> CriterionDefinitionAwareElementDefinition<UserIdentity>
,IndexationAwareElementDefinition<UserIdentity,
,X> SystemProperty<UserIdentity,
,X> IndexationAwareSystemProperty<UserIdentity,
,X> ElementDefinition<UserIdentity>
,ModelItem
,PluginAware
,Labelable
,ModifiableLabelable
,Configurable
,Contextualizable
,Serviceable
- Direct Known Subclasses:
ContributorSystemProperty
,CreatorSystemProperty
,FirstValidatorSystemProperty
,LastMajorValidatorSystemProperty
,LastValidatorSystemProperty
public abstract class AbstractUserIndexableSystemProperty<X extends ModelAwareDataAwareAmetysObject>
extends AbstractUserSystemProperty<X>
implements CriterionDefinitionAwareElementDefinition<UserIdentity>, IndexationAwareSystemProperty<UserIdentity,X>
Abstract class providing base functionality for a user-typed
SystemProperty
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CriterionDefinitionHelper
The criterion definition helperprotected UserHelper
The user helperFields inherited from class org.ametys.cms.model.properties.AbstractProperty
_availableTypesExtensionPoint, _context, _manager
Fields inherited from class org.ametys.runtime.model.DefaultElementDefinition
_logger
Fields inherited from class org.ametys.runtime.model.AbstractModelItem
__context, __serviceManager
Fields inherited from interface org.ametys.runtime.model.ElementDefinition
CONFIG_DEFAULT_VALUE_TYPE
Fields inherited from interface org.ametys.runtime.model.ModelItem
ITEM_PATH_SEPARATOR
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet the type to use when rendering the element as a criteriongetQuery
(Object value, Query.Operator operator, String language, Map<String, Object> contextualParameters) Get theQuery
associated to the given value.Retrieves the name of the element's solr facet fieldRetrieves the name of the element's solr sort fieldgetSortValue
(X content) Get the sort value represented by this field in the given result ametys object.Get the property's valuevoid
service
(ServiceManager manager) Methods inherited from class org.ametys.cms.search.systemprop.AbstractUserSystemProperty
_getUserIdentityValue, getRenderer, getTypeId
Methods inherited from class org.ametys.cms.search.systemprop.AbstractSystemProperty
_getNameConfigurationAttribute, parseStringArray
Methods inherited from class org.ametys.cms.model.properties.AbstractProperty
_parseAndSetEnumerator, _parseDescription, _parseLabel, _parseName, configure, contextualize, getType, isEditable, setAvailableTypeExtensionPoint, setPluginInfo
Methods inherited from class org.ametys.runtime.model.DefaultElementDefinition
_defaultValueToJSON, _getDefaultValues, _toJSON, _widgetToJSON, _widgetToSAX, getCustomEnumerator, getCustomValidator, getDefaultValue, getEnumerator, getEnumeratorConfiguration, getParsedDefaultValues, getValidator, getValidatorConfiguration, getWidget, getWidgetParameters, isMultiple, of, setCustomEnumerator, setCustomValidator, setDefaultValue, setEnumerator, setEnumeratorConfiguration, setMultiple, setParsedDefaultValues, setType, setValidator, setValidatorConfiguration, setWidget, setWidgetParameters, toSAX
Methods inherited from class org.ametys.runtime.model.AbstractModelItem
_getModelItemHelper, _shouldJSONBeEmpty, _widgetParameterToSAX, addItemChecker, compareTo, disableConditionsToJSON, equals, getDescription, getDisableConditions, getItemCheckers, getLabel, getModel, getName, getParent, getPath, getPluginName, hashCode, setContext, setDescription, setDisableConditions, setLabel, setModel, setName, setParent, setPluginName, setServiceManager, toJSON, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface org.ametys.cms.search.model.CriterionDefinitionAwareElementDefinition
convertQueryValue, getDefaultCriterionEnumerator, getDefaultCriterionOperator, getDefaultCriterionWidget, getDefaultCriterionWidgetParameters, getType
Methods inherited from interface org.ametys.runtime.model.ElementDefinition
getCustomEnumerator, getCustomValidator, getDefaultValue, getEnumerator, getEnumeratorConfiguration, getParsedDefaultValues, getValidator, getValidatorConfiguration, isEditable, isMultiple, setCustomEnumerator, setCustomValidator, setDefaultValue, setEnumerator, setEnumeratorConfiguration, setMultiple, setParsedDefaultValues, setValidator, setValidatorConfiguration
Methods inherited from interface org.ametys.cms.search.model.IndexationAwareElementDefinition
getSolrFieldName, getType, isFacetable, isSortable
Methods inherited from interface org.ametys.cms.search.systemprop.IndexationAwareSystemProperty
getSchemaDefinitions, indexValue
Methods inherited from interface org.ametys.runtime.util.Labelable
getDescription, getLabel, getName
Methods inherited from interface org.ametys.runtime.model.ModelItem
addItemChecker, getDisableConditions, getItemCheckers, getModel, getParent, getPath, getPluginName, getWidget, getWidgetParameters, setDisableConditions, setModel, setParent, setPluginName, setType, setWidget, setWidgetParameters, toJSON, toSAX
Methods inherited from interface org.ametys.runtime.util.ModifiableLabelable
setDescription, setLabel, setName
Methods inherited from interface org.ametys.cms.model.properties.Property
getType, initializeAfterModelItemsInitialization, setAvailableTypeExtensionPoint, valueToJSON, valueToSAX
Methods inherited from interface org.ametys.cms.search.model.SystemProperty
getColumnWidth, getConverter, getRenderer, isDisplayable
-
Field Details
-
_userHelper
The user helper -
_criterionDefinitionHelper
The criterion definition helper
-
-
Constructor Details
-
AbstractUserIndexableSystemProperty
public AbstractUserIndexableSystemProperty()
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classAbstractProperty<UserIdentity,
X extends ModelAwareDataAwareAmetysObject> - Throws:
ServiceException
-
getQuery
public Query getQuery(Object value, Query.Operator operator, String language, Map<String, Object> contextualParameters) Description copied from interface:CriterionDefinitionAwareElementDefinition
Get theQuery
associated to the given value.- Specified by:
getQuery
in interfaceCriterionDefinitionAwareElementDefinition<X extends ModelAwareDataAwareAmetysObject>
- Parameters:
value
- the user-submitted value for this property.operator
- In advanced search mode, the operator chosen by the user.null
to use the criterion-defined operator (simple search mode).language
- The current search language.contextualParameters
- the search contextual parameters.- Returns:
- The
Query
associated to the given value.
-
getValue
Description copied from interface:Property
Get the property's value- Specified by:
getValue
in interfaceIndexationAwareElementDefinition<UserIdentity,
X extends ModelAwareDataAwareAmetysObject> - Specified by:
getValue
in interfaceProperty<UserIdentity,
X extends ModelAwareDataAwareAmetysObject> - Overrides:
getValue
in classAbstractUserSystemProperty<X extends ModelAwareDataAwareAmetysObject>
- Parameters:
ametysObject
- the ametysObject containing the property- Returns:
- the values to index.
-
getSolrSortFieldName
Description copied from interface:IndexationAwareElementDefinition
Retrieves the name of the element's solr sort field- Specified by:
getSolrSortFieldName
in interfaceIndexationAwareElementDefinition<UserIdentity,
X extends ModelAwareDataAwareAmetysObject> - Returns:
- the name of the element's solr sort field
-
getSolrFacetFieldName
Description copied from interface:IndexationAwareElementDefinition
Retrieves the name of the element's solr facet field- Specified by:
getSolrFacetFieldName
in interfaceIndexationAwareElementDefinition<UserIdentity,
X extends ModelAwareDataAwareAmetysObject> - Returns:
- the name of the element's solr facet field
-
getSortValue
Description copied from interface:IndexationAwareElementDefinition
Get the sort value represented by this field in the given result ametys object.- Specified by:
getSortValue
in interfaceIndexationAwareElementDefinition<UserIdentity,
X extends ModelAwareDataAwareAmetysObject> - Parameters:
content
- the result ametys object.- Returns:
- the content sort value, must be scalar (String, long, double, Date).
-
getDefaultCriterionType
Description copied from interface:CriterionDefinitionAwareElementDefinition
Get the type to use when rendering the element as a criterion- Specified by:
getDefaultCriterionType
in interfaceCriterionDefinitionAwareElementDefinition<X extends ModelAwareDataAwareAmetysObject>
- Returns:
- the type to use for a criterion
-