Class MapFieldPersistenceProvider
java.lang.Object
org.broadleafcommerce.openadmin.server.service.persistence.module.provider.AbstractFieldPersistenceProvider
org.broadleafcommerce.openadmin.server.service.persistence.module.provider.FieldPersistenceProviderAdapter
org.broadleafcommerce.openadmin.server.service.persistence.module.provider.BasicFieldPersistenceProvider
org.broadleafcommerce.openadmin.server.service.persistence.module.provider.MapFieldPersistenceProvider
- All Implemented Interfaces:
FieldPersistenceProvider,org.springframework.core.Ordered
@Component("blMapFieldPersistenceProvider")
@Scope("prototype")
public class MapFieldPersistenceProvider
extends BasicFieldPersistenceProvider
- Author:
- Jeff Fischer
-
Field Summary
Fields inherited from class org.broadleafcommerce.openadmin.server.service.persistence.module.provider.BasicFieldPersistenceProvider
extensionManager, LOGFields inherited from interface org.broadleafcommerce.openadmin.server.service.persistence.module.provider.FieldPersistenceProvider
BASIC, HTML, MAP_FIELD, MEDIA, MONEY, RULEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddSearchMapping(AddSearchMappingRequest addSearchMappingRequest, List<FilterMapping> filterMappings) AddFilterMappinginstances.protected booleancanHandleExtraction(ExtractValueRequest extractValueRequest, Property property) protected booleancanHandlePersistence(PopulateValueRequest populateValueRequest, Serializable instance) booleanIf the provider should handle populating null values or if it should delegate to the default persistence providerprotected ValueAssignableestablishAssignableValue(PopulateValueRequest populateValueRequest, Object parent) extractValue(ExtractValueRequest extractValueRequest, Property property) Retrieve the property value from the requestedValue field from the request.intgetOrder()protected Class<?>getStartingValueType(PopulateValueRequest populateValueRequest) protected Class<?>getValueType(PopulateValueRequest populateValueRequest, Class<?> startingValueType) populateValue(PopulateValueRequest populateValueRequest, Serializable instance) Set the property value on the target object.protected voidsetupJoinEntityParent(PopulateValueRequest populateValueRequest, Serializable instance, Object parent) protected voidupdateAssignableValue(PopulateValueRequest populateValueRequest, Serializable instance, Object parent, Class<?> valueType, boolean persistValue, ValueAssignable assignableValue) Methods inherited from class org.broadleafcommerce.openadmin.server.service.persistence.module.provider.BasicFieldPersistenceProvider
canHandleSearchMapping, detectAdditionalSearchTypes, detectBasicType, getDateFormatToExtractValue, getDateFormatToPopulateValueMethods inherited from class org.broadleafcommerce.openadmin.server.service.persistence.module.provider.FieldPersistenceProviderAdapter
checkDirtyState, filterProperties, isFieldDirty, setNonDisplayableValuesMethods inherited from class org.broadleafcommerce.openadmin.server.service.persistence.module.provider.AbstractFieldPersistenceProvider
alwaysRun, buildFieldInfo, getListFieldType, getMapFieldType
-
Constructor Details
-
MapFieldPersistenceProvider
public MapFieldPersistenceProvider()
-
-
Method Details
-
canHandlePersistence
protected boolean canHandlePersistence(PopulateValueRequest populateValueRequest, Serializable instance) - Overrides:
canHandlePersistencein classBasicFieldPersistenceProvider
-
canHandleExtraction
- Overrides:
canHandleExtractionin classBasicFieldPersistenceProvider
-
populateValue
public MetadataProviderResponse populateValue(PopulateValueRequest populateValueRequest, Serializable instance) Description copied from interface:FieldPersistenceProviderSet the property value on the target object. Implementations should translate the requestedValue field from the request and set on the instance parameter. You are basically taking the string value submitted by the admin application and converting it into the format required to set on the target field of instance (which should be a JPA managed entity). Used during admin create and update events.- Specified by:
populateValuein interfaceFieldPersistenceProvider- Overrides:
populateValuein classBasicFieldPersistenceProvider- Parameters:
populateValueRequest- contains the requested value and support classes.instance- the persistence entity instance on which to set the value harvested from the request- Returns:
- whether or not the implementation handled the persistence request
-
extractValue
public MetadataProviderResponse extractValue(ExtractValueRequest extractValueRequest, Property property) throws PersistenceException Description copied from interface:FieldPersistenceProviderRetrieve the property value from the requestedValue field from the request. Implementations should translate the requestedValue and set on the property parameter. The requestedValue is the field value taken from the JPA managed entity instance. You are taking this field value and converting it into a string representation appropriate for the property instance parameter. Used during admin fetch events.- Specified by:
extractValuein interfaceFieldPersistenceProvider- Overrides:
extractValuein classBasicFieldPersistenceProvider- Parameters:
extractValueRequest- contains the requested value and support classes.property- the property for the admin that will contain the information harvested from the persistence value- Returns:
- whether or not the implementation handled the persistence request
- Throws:
PersistenceException
-
addSearchMapping
public MetadataProviderResponse addSearchMapping(AddSearchMappingRequest addSearchMappingRequest, List<FilterMapping> filterMappings) Description copied from interface:FieldPersistenceProviderAddFilterMappinginstances. The FilterMappings are used by the system to refine the fetch criteria used to retrieve lists of records for the admin. The requestedCto contains filters requested from the admin and is generally used to drive the added FilterMapping instances.- Specified by:
addSearchMappingin interfaceFieldPersistenceProvider- Overrides:
addSearchMappingin classBasicFieldPersistenceProvider- Parameters:
addSearchMappingRequest- contains the requested cto and support classes.filterMappings- filter criteria should be added here. It is used to generate the final search criteria.- Returns:
- whether or not the implementation handled the persistence request
-
getOrder
public int getOrder()- Specified by:
getOrderin interfaceorg.springframework.core.Ordered- Overrides:
getOrderin classBasicFieldPersistenceProvider
-
canHandlePopulateNull
public boolean canHandlePopulateNull()Description copied from interface:FieldPersistenceProviderIf the provider should handle populating null values or if it should delegate to the default persistence provider- Specified by:
canHandlePopulateNullin interfaceFieldPersistenceProvider- Overrides:
canHandlePopulateNullin classAbstractFieldPersistenceProvider- Returns:
-
updateAssignableValue
protected void updateAssignableValue(PopulateValueRequest populateValueRequest, Serializable instance, Object parent, Class<?> valueType, boolean persistValue, ValueAssignable assignableValue) throws IllegalAccessException, FieldNotAvailableException, InstantiationException -
establishAssignableValue
protected ValueAssignable establishAssignableValue(PopulateValueRequest populateValueRequest, Object parent) throws IllegalAccessException, FieldNotAvailableException -
setupJoinEntityParent
protected void setupJoinEntityParent(PopulateValueRequest populateValueRequest, Serializable instance, Object parent) throws IllegalAccessException, FieldNotAvailableException, InstantiationException -
getValueType
protected Class<?> getValueType(PopulateValueRequest populateValueRequest, Class<?> startingValueType) -
getStartingValueType
protected Class<?> getStartingValueType(PopulateValueRequest populateValueRequest) throws ClassNotFoundException, IllegalAccessException
-