Class MetadataSearchUIColumn
- java.lang.Object
-
- org.ametys.runtime.parameter.Parameter<MetadataType>
-
- org.ametys.cms.search.ui.model.impl.AbstractSearchUIColumn
-
- org.ametys.cms.search.ui.model.impl.MetadataSearchUIColumn
-
- All Implemented Interfaces:
Field,MetadataResultField,ResultField,SearchUIColumn,Configurable,Contextualizable,Serviceable
public class MetadataSearchUIColumn extends AbstractSearchUIColumn implements MetadataResultField, Serviceable, Configurable, Contextualizable
Default implementation of a search ui column for a content's attribute
-
-
Field Summary
Fields Modifier and Type Field Description protected ModelItem_attributeThe attribute represented by the columnprotected Collection<String>_contentTypesThe types of the content on which this attribute column appliesprotected Context_contextThe contextprotected ContentTypeExtensionPoint_cTypeEPThe content type extension point.protected ContentTypesHelper_cTypeHelperThe content type helper.protected String_fullAttributePathThe full attribute path.protected boolean_joinedAttributeTrue if the attribute is joined, false otherwise.protected ContentSearchHelper_searchHelperThe search helper.protected ServiceManager_smanagerThe service manager
-
Constructor Summary
Constructors Constructor Description MetadataSearchUIColumn()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean_isEditable(Configuration configuration, ModelItem attribute, boolean multiLevelMultiple)Computed editable status of this column from its attribute definition and configurationprotected boolean_isSortable(Configuration configuration, ModelItem attribute, boolean multiplePath)Computed sortable status of this column from its attribute definition and configurationprotected boolean_isSortableMetadata(ModelItem attribute)Determines if the column is sortable according its attribute definitionvoidconfigure(Configuration configuration)protected voidconfigureConverter(String converter, ModelItem attribute)Configure the column converter.protected voidconfigureRenderer(String renderer, ModelItem attribute)Configure the column renderer.voidcontextualize(Context context)Collection<String>getContentTypes()Get the content types of the contents on which this attribute column appliesStringgetFieldPath()Get the path of attribute (separated by '/')ObjectgetFullValue(Content content, Locale defaultLocale)Get the value represented by this field in the given result content.SearchFieldgetSearchField()Get theSearchFieldrepresenting this result field.Map<String,SearchUIColumn>getSubColumns()Get the subcolumns informations (for repeaters for example)ObjectgetValue(Content content, Locale defaultLocale)Get the value represented by this field in the given result content.protected booleanisEditionAllowed(ModelItem attribute)Determines if the inline edition is allowedbooleanisJoinedAttribute()Determines if this column is a path to a joined attributebooleanisTypeContentWithMultilingualTitle()Determines if this column represents a CONTENT attribute with a multilingual titlevoidservice(ServiceManager manager)voidsetContentTypes(Collection<String> contentTypes)Set the content types of the contents on which this attribute column appliesvoidsetFieldPath(String attributePath)Set the attribute pathvoidsetJoinedAttribute(boolean joinedAttribute)Set if this column is a path to a joined attributevoidsetTypeContentWithMultilingualTitle(boolean multilingual)Set if this column represents a CONTENT attribute with a multilingual title-
Methods inherited from class org.ametys.cms.search.ui.model.impl.AbstractSearchUIColumn
_configureI18nizableText, getContentTypeId, getConverter, getDefaultSorter, getRenderer, getWidth, isEditable, isHidden, isMultiple, isSortable, setContentTypeId, setConverter, setDefaultSorter, setEditable, setHidden, setMultiple, setRenderer, setSortable, setWidth
-
Methods inherited from class org.ametys.runtime.parameter.Parameter
getDefaultValue, getDescription, getEnumerator, getId, getLabel, getPluginName, getType, getValidator, getWidget, getWidgetParameters, setDefaultValue, setDescription, setEnumerator, setId, setLabel, setPluginName, setType, setValidator, setWidget, setWidgetParameters
-
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.Field
getContentTypeId, getEnumerator, getType, isMultiple
-
Methods inherited from interface org.ametys.cms.search.model.ResultField
getId
-
Methods inherited from interface org.ametys.cms.search.ui.model.SearchUIColumn
getDescription, getLabel, getValidator, getWidget, getWidgetParameters
-
-
-
-
Field Detail
-
_smanager
protected ServiceManager _smanager
The service manager
-
_cTypeEP
protected ContentTypeExtensionPoint _cTypeEP
The content type extension point.
-
_cTypeHelper
protected ContentTypesHelper _cTypeHelper
The content type helper.
-
_searchHelper
protected ContentSearchHelper _searchHelper
The search helper.
-
_fullAttributePath
protected String _fullAttributePath
The full attribute path.
-
_joinedAttribute
protected boolean _joinedAttribute
True if the attribute is joined, false otherwise.
-
_contentTypes
protected Collection<String> _contentTypes
The types of the content on which this attribute column applies
-
_attribute
protected ModelItem _attribute
The attribute represented by the column
-
-
Constructor Detail
-
MetadataSearchUIColumn
public MetadataSearchUIColumn()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualizein interfaceContextualizable- Throws:
ContextException
-
configure
public void configure(Configuration configuration) throws ConfigurationException
- Specified by:
configurein interfaceConfigurable- Throws:
ConfigurationException
-
_isSortable
protected boolean _isSortable(Configuration configuration, ModelItem attribute, boolean multiplePath)
Computed sortable status of this column from its attribute definition and configuration- Parameters:
configuration- the column's configurationattribute- the attribute definitionmultiplePath- if path is multiple- Returns:
- true if this column is sortable
-
_isEditable
protected boolean _isEditable(Configuration configuration, ModelItem attribute, boolean multiLevelMultiple)
Computed editable status of this column from its attribute definition and configuration- Parameters:
configuration- the column's configurationattribute- the attribute definitionmultiLevelMultiple- if path contains a multiple attrbute or a repeater.- Returns:
- true if this column is editable
-
isEditionAllowed
protected boolean isEditionAllowed(ModelItem attribute)
Determines if the inline edition is allowed- Parameters:
attribute- The attribute definition- Returns:
- true if the attribute is editable
-
configureRenderer
protected void configureRenderer(String renderer, ModelItem attribute)
Configure the column renderer.- Parameters:
renderer- A specific renderer. If null, it will be deduced from the attribute definition.attribute- The attribute definition.
-
configureConverter
protected void configureConverter(String converter, ModelItem attribute)
Configure the column converter.- Parameters:
converter- A specific converter. If null, it will be deduced from the metadata definition.attribute- The attribute definition.
-
setFieldPath
public void setFieldPath(String attributePath)
Set the attribute path- Parameters:
attributePath- the path to attribute
-
getFieldPath
public String getFieldPath()
Get the path of attribute (separated by '/')- Specified by:
getFieldPathin interfaceMetadataResultField- Returns:
- the path of attribute
-
getContentTypes
public Collection<String> getContentTypes()
Get the content types of the contents on which this attribute column applies- Returns:
- the content types
-
setContentTypes
public void setContentTypes(Collection<String> contentTypes)
Set the content types of the contents on which this attribute column applies- Parameters:
contentTypes- the content types
-
isJoinedAttribute
public boolean isJoinedAttribute()
Determines if this column is a path to a joined attribute- Returns:
- true if is a joined attribute
-
setJoinedAttribute
public void setJoinedAttribute(boolean joinedAttribute)
Set if this column is a path to a joined attribute- Parameters:
joinedAttribute- true if is a joined attribute
-
isTypeContentWithMultilingualTitle
public boolean isTypeContentWithMultilingualTitle()
Determines if this column represents a CONTENT attribute with a multilingual title- Returns:
- true if this column represents a CONTENT attribute with a multilingual title
-
setTypeContentWithMultilingualTitle
public void setTypeContentWithMultilingualTitle(boolean multilingual)
Set if this column represents a CONTENT attribute with a multilingual title- Parameters:
multilingual- true if this column represents a CONTENT attribute with a multilingual title
-
getValue
public Object getValue(Content content, Locale defaultLocale)
Description copied from interface:ResultFieldGet the value represented by this field in the given result content.- Specified by:
getValuein interfaceResultField- Parameters:
content- the result content.defaultLocale- the default locale for localized value if the content's language is null- Returns:
- the content field value (cast to the appropriate object).
-
getFullValue
public Object getFullValue(Content content, Locale defaultLocale)
Description copied from interface:ResultFieldGet the value represented by this field in the given result content.- Specified by:
getFullValuein interfaceResultField- Parameters:
content- the result content.defaultLocale- the default locale for localized value if the content's language is null- Returns:
- the content field value (cast to the appropriate object).
-
getSearchField
public SearchField getSearchField()
Description copied from interface:ResultFieldGet theSearchFieldrepresenting this result field.- Specified by:
getSearchFieldin interfaceResultField- Overrides:
getSearchFieldin classAbstractSearchUIColumn- Returns:
- The
SearchFieldrepresenting this result field.
-
_isSortableMetadata
protected boolean _isSortableMetadata(ModelItem attribute)
Determines if the column is sortable according its attribute definition- Parameters:
attribute- the attribute definition- Returns:
- true if type is sortable
-
getSubColumns
public Map<String,SearchUIColumn> getSubColumns()
Description copied from interface:SearchUIColumnGet the subcolumns informations (for repeaters for example)- Specified by:
getSubColumnsin interfaceSearchUIColumn- Returns:
- the full columns informations or
nullif none is defined.
-
-