Package org.opencms.search.fields
Class CmsSearchFieldMapping
- java.lang.Object
-
- org.opencms.search.fields.CmsSearchFieldMapping
-
- All Implemented Interfaces:
java.io.Serializable
,I_CmsSearchFieldMapping
- Direct Known Subclasses:
CmsMacroResolvingSearchFieldMapping
public class CmsSearchFieldMapping extends java.lang.Object implements I_CmsSearchFieldMapping
Describes a mapping of a piece of content from an OpenCms VFS resource to a field of a search index.- Since:
- 7.0.0
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Locale
m_locale
The locale to extract content items in.
-
Constructor Summary
Constructors Constructor Description CmsSearchFieldMapping()
Public constructor for a new search field mapping.CmsSearchFieldMapping(boolean isLucene)
Public constructor for a new search field mapping.CmsSearchFieldMapping(CmsSearchFieldMappingType type, java.lang.String param)
Public constructor for a new search field mapping.CmsSearchFieldMapping(CmsSearchFieldMappingType type, java.lang.String param, boolean isLucene)
Public constructor for a new search field mapping.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
Two mappings are equal if the type and the parameter is equal.static java.util.Date
getDefaultDateExpired()
Returns the default expiration date, meaning the resource never expires.java.lang.String
getDefaultValue()
Returns the default value used for this field mapping in case no content is available.java.lang.String
getParam()
Returns the mapping parameter.java.lang.String
getStringValue(CmsObject cms, CmsResource res, I_CmsExtractionResult extractionResult, java.util.List<CmsProperty> properties, java.util.List<CmsProperty> propertiesSearched)
Returns the String value extracted form the provided data according to the rules of this mapping type.CmsSearchFieldMappingType
getType()
Returns the mapping type.int
hashCode()
The hash code depends on the type and the parameter.void
setDefaultValue(java.lang.String defaultValue)
Sets the default value for this field mapping in case no content is available.void
setLocale(java.util.Locale locale)
Sets the locale, the mapping can examine when extracting the content.void
setParam(java.lang.String param)
Sets the mapping parameter.void
setType(java.lang.String type)
Sets the mapping type as a String.void
setType(CmsSearchFieldMappingType type)
Sets the mapping type.
-
-
-
Field Detail
-
m_locale
protected java.util.Locale m_locale
The locale to extract content items in.
-
-
Constructor Detail
-
CmsSearchFieldMapping
public CmsSearchFieldMapping()
Public constructor for a new search field mapping.
-
CmsSearchFieldMapping
public CmsSearchFieldMapping(boolean isLucene)
Public constructor for a new search field mapping.- Parameters:
isLucene
- flag, indicating if the mapping is done for a lucene index
-
CmsSearchFieldMapping
public CmsSearchFieldMapping(CmsSearchFieldMappingType type, java.lang.String param)
Public constructor for a new search field mapping.- Parameters:
type
- the type to use, seesetType(CmsSearchFieldMappingType)
param
- the mapping parameter, seesetParam(String)
-
CmsSearchFieldMapping
public CmsSearchFieldMapping(CmsSearchFieldMappingType type, java.lang.String param, boolean isLucene)
Public constructor for a new search field mapping.- Parameters:
type
- the type to use, seesetType(CmsSearchFieldMappingType)
param
- the mapping parameter, seesetParam(String)
isLucene
- flag, indicating if the mapping is done for a lucene index
-
-
Method Detail
-
getDefaultDateExpired
public static java.util.Date getDefaultDateExpired() throws java.text.ParseException
Returns the default expiration date, meaning the resource never expires.- Returns:
- the default expiration date
- Throws:
java.text.ParseException
- if something goes wrong parsing the default date string
-
equals
public boolean equals(java.lang.Object obj)
Two mappings are equal if the type and the parameter is equal.- Overrides:
equals
in classjava.lang.Object
- See Also:
Object.equals(java.lang.Object)
-
getDefaultValue
public java.lang.String getDefaultValue()
Description copied from interface:I_CmsSearchFieldMapping
Returns the default value used for this field mapping in case no content is available.- Specified by:
getDefaultValue
in interfaceI_CmsSearchFieldMapping
- Returns:
- the default value used for this field mapping in case no content is available
- See Also:
I_CmsSearchFieldMapping.getDefaultValue()
-
getParam
public java.lang.String getParam()
Description copied from interface:I_CmsSearchFieldMapping
Returns the mapping parameter.The parameter is used depending on the implementation of the rules of the selected
CmsSearchFieldMappingType
.- Specified by:
getParam
in interfaceI_CmsSearchFieldMapping
- Returns:
- the mapping parameter
- See Also:
I_CmsSearchFieldMapping.getParam()
-
getStringValue
public java.lang.String getStringValue(CmsObject cms, CmsResource res, I_CmsExtractionResult extractionResult, java.util.List<CmsProperty> properties, java.util.List<CmsProperty> propertiesSearched)
Description copied from interface:I_CmsSearchFieldMapping
Returns the String value extracted form the provided data according to the rules of this mapping type.- Specified by:
getStringValue
in interfaceI_CmsSearchFieldMapping
- Parameters:
cms
- the OpenCms context used for building the search indexres
- the resource that is indexedextractionResult
- the plain text extraction result from the resourceproperties
- the list of all properties directly attached to the resource (not searched)propertiesSearched
- the list of all searched properties of the resource- Returns:
- the String value extracted form the provided data according to the rules of this mapping type
- See Also:
I_CmsSearchFieldMapping.getStringValue(org.opencms.file.CmsObject, org.opencms.file.CmsResource, org.opencms.search.extractors.I_CmsExtractionResult, java.util.List, java.util.List)
-
getType
public CmsSearchFieldMappingType getType()
Description copied from interface:I_CmsSearchFieldMapping
Returns the mapping type.- Specified by:
getType
in interfaceI_CmsSearchFieldMapping
- Returns:
- the mapping type
- See Also:
I_CmsSearchFieldMapping.getType()
-
hashCode
public int hashCode()
The hash code depends on the type and the parameter.- Overrides:
hashCode
in classjava.lang.Object
- See Also:
Object.hashCode()
-
setDefaultValue
public void setDefaultValue(java.lang.String defaultValue)
Description copied from interface:I_CmsSearchFieldMapping
Sets the default value for this field mapping in case no content is available.- Specified by:
setDefaultValue
in interfaceI_CmsSearchFieldMapping
- Parameters:
defaultValue
- the default value to set- See Also:
I_CmsSearchFieldMapping.setDefaultValue(java.lang.String)
-
setLocale
public void setLocale(java.util.Locale locale)
Description copied from interface:I_CmsSearchFieldMapping
Sets the locale, the mapping can examine when extracting the content. NOTE: This method is called byCmsDefaultXmlContentHandler
when dynamic search field mappings are created. Overwrite this default implementation if you need to map locale specific in your dynamic mapping.- Specified by:
setLocale
in interfaceI_CmsSearchFieldMapping
- Parameters:
locale
- the locale of the index field that is filled by the mapping.- See Also:
I_CmsSearchFieldMapping.setLocale(java.util.Locale)
-
setParam
public void setParam(java.lang.String param)
Description copied from interface:I_CmsSearchFieldMapping
Sets the mapping parameter.The parameter is used depending on the implementation of the rules of the selected
CmsSearchFieldMappingType
.- Specified by:
setParam
in interfaceI_CmsSearchFieldMapping
- Parameters:
param
- the parameter to set- See Also:
I_CmsSearchFieldMapping.setParam(java.lang.String)
-
setType
public void setType(CmsSearchFieldMappingType type)
Description copied from interface:I_CmsSearchFieldMapping
Sets the mapping type.- Specified by:
setType
in interfaceI_CmsSearchFieldMapping
- Parameters:
type
- the type to set- See Also:
I_CmsSearchFieldMapping.setType(org.opencms.search.fields.CmsSearchFieldMappingType)
-
setType
public void setType(java.lang.String type)
Description copied from interface:I_CmsSearchFieldMapping
Sets the mapping type as a String.- Specified by:
setType
in interfaceI_CmsSearchFieldMapping
- Parameters:
type
- the name of the type to set- See Also:
I_CmsSearchFieldMapping.setType(java.lang.String)
-
-