Package org.ametys.cms.search.systemprop
Class AbstractUserSystemProperty
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.cms.search.systemprop.AbstractSystemProperty
-
- org.ametys.cms.search.systemprop.AbstractUserSystemProperty
-
- All Implemented Interfaces:
SystemProperty
,LogEnabled
,PluginAware
,Configurable
,Serviceable
- Direct Known Subclasses:
ContributorSystemProperty
,CreatorSystemProperty
public abstract class AbstractUserSystemProperty extends AbstractSystemProperty
Abstract class providing base functionality for a user-typedSystemProperty
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ametys.cms.search.model.SystemProperty
SystemProperty.EnumeratorDefinition
-
-
Field Summary
-
Fields inherited from class org.ametys.cms.search.systemprop.AbstractSystemProperty
_description, _i18nUtils, _id, _label, _pluginName, _resolver, _userHelper, _userManager
-
-
Constructor Summary
Constructors Constructor Description AbstractUserSystemProperty()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract String
_getSolrFieldName()
Get the Solr field nameprotected abstract UserIdentity
_getUserIdentityValue(Content content)
Get the value asUserIdentity
Object
getJsonValue(Content content, boolean full)
Get the jsonified valueQuery
getQuery(Object value, Query.Operator operator, String language, Map<String,Object> contextualParameters)
Get theQuery
associated to the given value.String
getRenderer()
Get the renderer.Object
getSortValue(Content content)
Get the sort value represented by this field in the given result content.MetadataType
getType()
Get the property type.Object
getValue(Content content)
Get the typed raw value for this field in the given result content.-
Methods inherited from class org.ametys.cms.search.systemprop.AbstractSystemProperty
_indexBooleanValue, _indexBooleanValues, _indexDateValue, _indexDateValues, _indexDoubleValue, _indexDoubleValues, _indexGeocodeValue, _indexLongValue, _indexLongValues, _indexStringValue, _indexStringValues, _indexUserValue, _indexUserValues, _parseI18nizableText, configure, getDescription, getId, getLabel, getSchemaDefinitions, index, parseBoolean, parseDate, parseDouble, parseLong, parseString, parseStringArray, parseUserArray, saxValue, service, 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.cms.search.model.SystemProperty
getColumnWidth, getContentTypeId, getConverter, getEnumeratorDefinition, getSearchField, getWidget, getWidgetParameters, isDisplayable, isFacetable, isMultiple, isSearchable, isSortable
-
-
-
-
Constructor Detail
-
AbstractUserSystemProperty
public AbstractUserSystemProperty()
-
-
Method Detail
-
getType
public MetadataType getType()
Description copied from interface:SystemProperty
Get the property type.- Returns:
- the property type.
-
getRenderer
public String getRenderer()
Description copied from interface:SystemProperty
Get the renderer.- Returns:
- The column renderer.
-
getQuery
public Query getQuery(Object value, Query.Operator operator, String language, Map<String,Object> contextualParameters)
Description copied from interface:SystemProperty
Get theQuery
associated to the given value.- 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.
-
_getSolrFieldName
protected abstract String _getSolrFieldName()
Get the Solr field name- Returns:
- the field name
-
_getUserIdentityValue
protected abstract UserIdentity _getUserIdentityValue(Content content)
Get the value asUserIdentity
- Parameters:
content
- the content- Returns:
- the user identity
-
getValue
public Object getValue(Content content)
Description copied from interface:SystemProperty
Get the typed raw value for this field in the given result content. The returned object depends on this field's type:
-MetadataType.STRING
must return String or String[] if multiple
-MetadataType.DATE
orMetadataType.DATETIME
must return Date or Date[] if multiple
-MetadataType.LONG
must return Long or Long[] if multiple
-MetadataType.DOUBLE
must return Double or Double[] if multiple
-MetadataType.CONTENT
must return String or String[] if multiple
-MetadataType.GEOCODE
must return Map<String, Double>
-MetadataType.USER
must return UserIdentity or UserIdentity[] if multiple
-MetadataType.MULTILINGUAL_STRING
must returnMultilingualString
Others types are not supported.- Parameters:
content
- The result content- Returns:
- The typed value, cast to the appropriate object according its type.
-
getJsonValue
public Object getJsonValue(Content content, boolean full)
Description copied from interface:SystemProperty
Get the jsonified value- Parameters:
content
- the result contentfull
-true
to get full value.- Returns:
- the content field value
-
getSortValue
public Object getSortValue(Content content)
Description copied from interface:SystemProperty
Get the sort value represented by this field in the given result content.- Specified by:
getSortValue
in interfaceSystemProperty
- Overrides:
getSortValue
in classAbstractSystemProperty
- Parameters:
content
- the result content.- Returns:
- the content sort value, must be scalar (String, long, double, Date).
-
-