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
-
-
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 asUserIdentityObjectgetJsonValue(Content content, boolean full)Get the jsonified valueQuerygetQuery(Object value, Query.Operator operator, String language, Map<String,Object> contextualParameters)Get theQueryassociated to the given value.StringgetRenderer()Get the renderer.ObjectgetSortValue(Content content)Get the sort value represented by this field in the given result content.MetadataTypegetType()Get the property type.ObjectgetValue(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:SystemPropertyGet the property type.- Returns:
- the property type.
-
getRenderer
public String getRenderer()
Description copied from interface:SystemPropertyGet 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:SystemPropertyGet theQueryassociated to the given value.- Parameters:
value- the user-submitted value for this property.operator- In advanced search mode, the operator chosen by the user.nullto use the criterion-defined operator (simple search mode).language- The current search language.contextualParameters- the search contextual parameters.- Returns:
- The
Queryassociated 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:SystemPropertyGet the typed raw value for this field in the given result content. The returned object depends on this field's type:
-MetadataType.STRINGmust return String or String[] if multiple
-MetadataType.DATEorMetadataType.DATETIMEmust return Date or Date[] if multiple
-MetadataType.LONGmust return Long or Long[] if multiple
-MetadataType.DOUBLEmust return Double or Double[] if multiple
-MetadataType.CONTENTmust return String or String[] if multiple
-MetadataType.GEOCODEmust return Map<String, Double>
-MetadataType.USERmust return UserIdentity or UserIdentity[] if multiple
-MetadataType.MULTILINGUAL_STRINGmust 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:SystemPropertyGet the jsonified value- Parameters:
content- the result contentfull-trueto get full value.- Returns:
- the content field value
-
getSortValue
public Object getSortValue(Content content)
Description copied from interface:SystemPropertyGet the sort value represented by this field in the given result content.- Specified by:
getSortValuein interfaceSystemProperty- Overrides:
getSortValuein classAbstractSystemProperty- Parameters:
content- the result content.- Returns:
- the content sort value, must be scalar (String, long, double, Date).
-
-