Class LocalDynamicMetadataProviderParser

All Implemented Interfaces:
BeanDefinitionParser

public class LocalDynamicMetadataProviderParser extends AbstractDynamicMetadataProviderParser
  • Field Details

    • ELEMENT_NAME

      @Nonnull public static final QName ELEMENT_NAME
      Element name.
    • log

      @Nonnull private org.slf4j.Logger log
      Logger.
  • Constructor Details

    • LocalDynamicMetadataProviderParser

      public LocalDynamicMetadataProviderParser()
  • Method Details

    • getNativeBeanClass

      @Nonnull protected Class<? extends MetadataResolver> getNativeBeanClass(@Nonnull Element element)
      Return the real class implement by this type. This has the same function as the more usual AbstractSingleBeanDefinitionParser.getBeanClass(Element) but it may need to be shimmed in AbstractMetadataProviderParser which may need to insert an extra bean.
      Specified by:
      getNativeBeanClass in class AbstractMetadataProviderParser
      Parameters:
      element - the Element that is being parsed
      Returns:
      the Class of the bean that is being defined via parsing the supplied Element, or null if none
      See Also:
    • doNativeParse

      protected void doNativeParse(@Nonnull Element element, @Nonnull ParserContext parserContext, @Nonnull BeanDefinitionBuilder builder)
      Parse the element into the provider builder. This has the same function as the more usual AbstractSingleBeanDefinitionParser.doParse(Element, ParserContext, BeanDefinitionBuilder) but it may need to be shimmed in this class which may need to insert an extra bean. We assume that we will be summoning up a class which extends an AbstractDynamicMetadataResolver.
      Overrides:
      doNativeParse in class AbstractDynamicMetadataProviderParser
      Parameters:
      element - the XML element being parsed
      parserContext - the object encapsulating the current state of the parsing process
      builder - used to define the BeanDefinition
      See Also:
    • checkAndLogSourceDirectoryOverrides

      private void checkAndLogSourceDirectoryOverrides(@Nonnull Element element)
      Check and log the options related to 'sourceDirectory' which are being overridden by 'sourceManagerRef'.
      Parameters:
      element - the element being parsed
    • buildFilesystemManagerDefinition

      @Nonnull private BeanDefinition buildFilesystemManagerDefinition(@Nonnull Element element, @Nonnull ParserContext parserContext, boolean isDefaultSourceKeyGenerator)
      Build bean definition for FilesystemLoadSaveManager source manager.
      Parameters:
      element - the element being parsed
      parserContext - the current parser context
      isDefaultSourceKeyGenerator - whether the internal default source key manager is being used
      Returns:
      the bean definition for the filesystem source manager
    • processIntermediateDirectoryStrategy

      private void processIntermediateDirectoryStrategy(@Nonnull Element element, @Nonnull ParserContext parserContext, @Nonnull BeanDefinitionBuilder sourceManagerBuilder, boolean isDefaultSourceKeyGenerator)
      Process options related to intermediate directory strategy and apply to the builder for the FilesystemLoadSaveManager.
      Parameters:
      element - the element being parsed
      parserContext - the current parser context
      sourceManagerBuilder - the source build manager for the FilesystemLoadSaveManager being built
      isDefaultSourceKeyGenerator - whether the internal default source key manager is being used
    • checkAndBuildPassthroughIntermediateDirectoryStrategy

      @Nullable private BeanDefinition checkAndBuildPassthroughIntermediateDirectoryStrategy(@Nonnull Element element, @Nonnull ParserContext parserContext)
      Return bean definition for the default intermediate directory strategy with passthrough source strategy, if segmenting configuration params specified.
      Parameters:
      element - the element being parsed
      parserContext - the current parser context
      Returns:
      the strategy bean definition, or null if not configured