Class AbstractPropertyValueExtractor
java.lang.Object
io.jmix.search.index.mapping.propertyvalue.impl.AbstractPropertyValueExtractor
- All Implemented Interfaces:
- PropertyValueExtractor
- Direct Known Subclasses:
- EnumPropertyValueExtractor,- FilePropertyValueExtractor,- ReferencePropertyValueExtractor,- SimplePropertyValueExtractor
public abstract class AbstractPropertyValueExtractor
extends Object
implements PropertyValueExtractor
Base class for 
PropertyValueExtractor implementations.- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected static final com.fasterxml.jackson.databind.ObjectMapper
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected ObjectgetFlatValueOrNull(Object entity, MetaPropertyPath propertyPath, Map<String, Object> parameters) com.fasterxml.jackson.databind.JsonNodeExtracts value from entity instance.protected booleanisCollection(Object value) protected abstract booleanisSupported(Object entity, MetaPropertyPath propertyPath, Map<String, Object> parameters) Checks if this value mapper supports value extraction of provided property.protected com.fasterxml.jackson.databind.JsonNodeprocessValue(Object value, Map<String, Object> parameters) protected abstract com.fasterxml.jackson.databind.JsonNodetransformMultipleValues(Iterable<?> values, Map<String, Object> parameters) Transform extracted value of multi-value property into result json.protected abstract com.fasterxml.jackson.databind.JsonNodetransformSingleValue(Object value, Map<String, Object> parameters) Transform extracted value of single-value property into result json.
- 
Field Details- 
objectMapperprotected static final com.fasterxml.jackson.databind.ObjectMapper objectMapper
 
- 
- 
Constructor Details- 
AbstractPropertyValueExtractorpublic AbstractPropertyValueExtractor()
 
- 
- 
Method Details- 
getValuepublic com.fasterxml.jackson.databind.JsonNode getValue(Object entity, MetaPropertyPath propertyPath, Map<String, Object> parameters) Description copied from interface:PropertyValueExtractorExtracts value from entity instance.- Specified by:
- getValuein interface- PropertyValueExtractor
- Parameters:
- entity- instance
- propertyPath- property
- parameters- runtime parameters
- Returns:
- extracted value as json
 
- 
isSupportedprotected abstract boolean isSupported(Object entity, MetaPropertyPath propertyPath, Map<String, Object> parameters) Checks if this value mapper supports value extraction of provided property.- Parameters:
- entity- instance
- propertyPath- property
- parameters- parameters
- Returns:
- true if value mapper supports this property, false otherwise
 
- 
transformSingleValueprotected abstract com.fasterxml.jackson.databind.JsonNode transformSingleValue(Object value, Map<String, Object> parameters) Transform extracted value of single-value property into result json.- Parameters:
- value- value of single-value property
- parameters- parameters
- Returns:
- value as json
 
- 
transformMultipleValuesprotected abstract com.fasterxml.jackson.databind.JsonNode transformMultipleValues(Iterable<?> values, Map<String, Object> parameters) Transform extracted value of multi-value property into result json.- Parameters:
- values- values of multi-value property
- parameters- parameters
- Returns:
- value as json
 
- 
isCollection
- 
processValue
- 
getFlatValueOrNull
 
-