Class CustomFieldFieldMetadataProvider

java.lang.Object
org.broadleafcommerce.openadmin.server.dao.provider.metadata.AbstractMetadataProvider
org.broadleafcommerce.openadmin.server.dao.provider.metadata.AbstractFieldMetadataProvider
org.broadleafcommerce.openadmin.server.dao.provider.metadata.FieldMetadataProviderAdapter
org.broadleafcommerce.openadmin.server.dao.provider.metadata.BasicFieldMetadataProvider
org.broadleafcommerce.openadmin.server.dao.provider.metadata.DefaultFieldMetadataProvider
org.broadleafcommerce.openadmin.server.dao.provider.metadata.MapFieldsFieldMetadataProvider
com.broadleafcommerce.customfield.admin.provider.metadata.CustomFieldFieldMetadataProvider
All Implemented Interfaces:
org.broadleafcommerce.openadmin.server.dao.provider.metadata.FieldMetadataProvider, org.springframework.core.Ordered

@Component("blCustomFieldMetadataProvider") public class CustomFieldFieldMetadataProvider extends org.broadleafcommerce.openadmin.server.dao.provider.metadata.MapFieldsFieldMetadataProvider
Author:
Jeff Fischer
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected javax.cache.Cache
     
    protected static String
     
    protected static String
     
    protected org.broadleafcommerce.common.extensibility.cache.JCacheUtil
     
    static final int
     
     
    static final String
     

    Fields inherited from class org.broadleafcommerce.openadmin.server.dao.provider.metadata.DefaultFieldMetadataProvider

    dialectHelper

    Fields inherited from class org.broadleafcommerce.openadmin.server.dao.provider.metadata.AbstractFieldMetadataProvider

    entityConfiguration, enumerationUtility

    Fields inherited from class org.broadleafcommerce.openadmin.server.dao.provider.metadata.AbstractMetadataProvider

    metadataOverrides

    Fields inherited from interface org.broadleafcommerce.openadmin.server.dao.provider.metadata.FieldMetadataProvider

    ADORNED_TARGET, BASIC, COLLECTION, MAP, MAP_FIELD

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.broadleafcommerce.openadmin.server.service.type.MetadataProviderResponse
    addMetadata(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.AddFieldMetadataRequest addMetadataRequest, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
     
    org.broadleafcommerce.openadmin.server.service.type.MetadataProviderResponse
    addMetadataFromMappingData(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.AddMetadataFromMappingDataRequest addMetadataFromMappingDataRequest, org.broadleafcommerce.openadmin.dto.FieldMetadata metadata)
     
    protected String
    buildAvailableTypesKey(String[] availableTypes)
     
    protected boolean
    canHandleLateStageField(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.LateStageAddMetadataRequest addMetadataRequest, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
     
    Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata>
    constructMetadata(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.LateStageAddMetadataRequest addMetadataRequest, org.broadleafcommerce.openadmin.dto.FieldMetadata fmd, CustomField customField)
     
    Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata>
    copyMetadataForCache(Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
     
    protected org.broadleafcommerce.openadmin.dto.BasicCollectionMetadata
    createCollectionMetadata(org.broadleafcommerce.openadmin.dto.FieldMetadata fmd)
     
    protected boolean
    detectField(String targetEntityName, String fieldName)
     
    protected javax.cache.Cache
     
    protected Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata>
    getCachedMetadata(org.broadleafcommerce.openadmin.dto.FieldMetadata fmd)
     
    protected Map<String,Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata>>
     
    protected org.broadleafcommerce.openadmin.dto.ForeignKey
    getForeignKey(org.broadleafcommerce.openadmin.dto.FieldMetadata fmd)
     
    int
     
    org.broadleafcommerce.openadmin.server.service.type.MetadataProviderResponse
    lateStageAddMetadata(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.LateStageAddMetadataRequest addMetadataRequest, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
    Create the metadata dynamically from the database.
    org.broadleafcommerce.openadmin.server.service.type.MetadataProviderResponse
    overrideViaAnnotation(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.OverrideViaAnnotationRequest overrideViaAnnotationRequest, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
     
    org.broadleafcommerce.openadmin.server.service.type.MetadataProviderResponse
    overrideViaXml(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.OverrideViaXmlRequest overrideViaXmlRequest, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
     
    protected void
    putCachedMetadata(org.broadleafcommerce.openadmin.dto.FieldMetadata fmd, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> cachedMetadata)
     

    Methods inherited from class org.broadleafcommerce.openadmin.server.dao.provider.metadata.MapFieldsFieldMetadataProvider

    addMetadataFromFieldType, canHandleFieldForConfiguredMetadata, canHandleFieldForTypeMetadata

    Methods inherited from class org.broadleafcommerce.openadmin.server.dao.provider.metadata.DefaultFieldMetadataProvider

    getColumnLength, overrideExclusionsFromXml

    Methods inherited from class org.broadleafcommerce.openadmin.server.dao.provider.metadata.BasicFieldMetadataProvider

    buildBasicMetadata, buildDataDrivenEnumList, canHandleAnnotationOverride, constructBasicMetadataOverride, overrideMergeMetadata, processShowIfFieldEqualsAnnotations, processValidationAnnotations, refreshDataDrivenEnumMetadata

    Methods inherited from class org.broadleafcommerce.openadmin.server.dao.provider.metadata.AbstractFieldMetadataProvider

    buildFieldInfo, convertType, getAdminPresentationEntries, getBasicJavaType, getTargetedOverride, setClassOwnership, setupBroadleafEnumeration

    Methods inherited from class org.broadleafcommerce.openadmin.server.dao.provider.metadata.AbstractMetadataProvider

    getTargetedOverride, setMetadataOverrides

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • CUSTOM_FIELD

      public static final int CUSTOM_FIELD
      See Also:
    • MULTI_VALUE_INDICATOR

      public static final String MULTI_VALUE_INDICATOR
      See Also:
    • CACHE_NAME

      protected static String CACHE_NAME
    • CACHE_KEY_PREFIX

      protected static String CACHE_KEY_PREFIX
    • cacheUtil

      @Autowired protected org.broadleafcommerce.common.extensibility.cache.JCacheUtil cacheUtil
    • cache

      protected javax.cache.Cache cache
    • customFieldService

      protected CustomFieldService customFieldService
  • Constructor Details

    • CustomFieldFieldMetadataProvider

      public CustomFieldFieldMetadataProvider()
  • Method Details

    • getCache

      protected javax.cache.Cache getCache()
    • detectField

      protected boolean detectField(String targetEntityName, String fieldName)
    • canHandleLateStageField

      protected boolean canHandleLateStageField(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.LateStageAddMetadataRequest addMetadataRequest, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
    • addMetadata

      public org.broadleafcommerce.openadmin.server.service.type.MetadataProviderResponse addMetadata(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.AddFieldMetadataRequest addMetadataRequest, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
      Specified by:
      addMetadata in interface org.broadleafcommerce.openadmin.server.dao.provider.metadata.FieldMetadataProvider
      Overrides:
      addMetadata in class org.broadleafcommerce.openadmin.server.dao.provider.metadata.MapFieldsFieldMetadataProvider
    • lateStageAddMetadata

      public org.broadleafcommerce.openadmin.server.service.type.MetadataProviderResponse lateStageAddMetadata(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.LateStageAddMetadataRequest addMetadataRequest, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
      Create the metadata dynamically from the database. This ends up being similar to the usage of AdminPresentationMapField.
      Specified by:
      lateStageAddMetadata in interface org.broadleafcommerce.openadmin.server.dao.provider.metadata.FieldMetadataProvider
      Overrides:
      lateStageAddMetadata in class org.broadleafcommerce.openadmin.server.dao.provider.metadata.FieldMetadataProviderAdapter
      Parameters:
      addMetadataRequest - the request to add metadata for a particular field
      Returns:
      whether or not any metadata changes were applied
    • getCachedMetadata

      protected Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> getCachedMetadata(org.broadleafcommerce.openadmin.dto.FieldMetadata fmd)
    • putCachedMetadata

      protected void putCachedMetadata(org.broadleafcommerce.openadmin.dto.FieldMetadata fmd, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> cachedMetadata)
    • getCacheForTargetClass

      protected Map<String,Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata>> getCacheForTargetClass(String targetClass)
    • buildAvailableTypesKey

      protected String buildAvailableTypesKey(String[] availableTypes)
    • copyMetadataForCache

      public Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> copyMetadataForCache(Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
    • constructMetadata

      public Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> constructMetadata(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.LateStageAddMetadataRequest addMetadataRequest, org.broadleafcommerce.openadmin.dto.FieldMetadata fmd, CustomField customField)
    • createCollectionMetadata

      protected org.broadleafcommerce.openadmin.dto.BasicCollectionMetadata createCollectionMetadata(org.broadleafcommerce.openadmin.dto.FieldMetadata fmd)
    • getForeignKey

      protected org.broadleafcommerce.openadmin.dto.ForeignKey getForeignKey(org.broadleafcommerce.openadmin.dto.FieldMetadata fmd)
    • overrideViaAnnotation

      public org.broadleafcommerce.openadmin.server.service.type.MetadataProviderResponse overrideViaAnnotation(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.OverrideViaAnnotationRequest overrideViaAnnotationRequest, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
      Specified by:
      overrideViaAnnotation in interface org.broadleafcommerce.openadmin.server.dao.provider.metadata.FieldMetadataProvider
      Overrides:
      overrideViaAnnotation in class org.broadleafcommerce.openadmin.server.dao.provider.metadata.MapFieldsFieldMetadataProvider
    • overrideViaXml

      public org.broadleafcommerce.openadmin.server.service.type.MetadataProviderResponse overrideViaXml(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.OverrideViaXmlRequest overrideViaXmlRequest, Map<String,org.broadleafcommerce.openadmin.dto.FieldMetadata> metadata)
      Specified by:
      overrideViaXml in interface org.broadleafcommerce.openadmin.server.dao.provider.metadata.FieldMetadataProvider
      Overrides:
      overrideViaXml in class org.broadleafcommerce.openadmin.server.dao.provider.metadata.MapFieldsFieldMetadataProvider
    • addMetadataFromMappingData

      public org.broadleafcommerce.openadmin.server.service.type.MetadataProviderResponse addMetadataFromMappingData(org.broadleafcommerce.openadmin.server.dao.provider.metadata.request.AddMetadataFromMappingDataRequest addMetadataFromMappingDataRequest, org.broadleafcommerce.openadmin.dto.FieldMetadata metadata)
      Specified by:
      addMetadataFromMappingData in interface org.broadleafcommerce.openadmin.server.dao.provider.metadata.FieldMetadataProvider
      Overrides:
      addMetadataFromMappingData in class org.broadleafcommerce.openadmin.server.dao.provider.metadata.DefaultFieldMetadataProvider
    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered
      Overrides:
      getOrder in class org.broadleafcommerce.openadmin.server.dao.provider.metadata.MapFieldsFieldMetadataProvider