Class MetaDataMergeStrategyResolver

java.lang.Object
org.craftercms.core.xml.mergers.impl.resolvers.MetaDataMergeStrategyResolver
All Implemented Interfaces:
DescriptorMergeStrategyResolver

public class MetaDataMergeStrategyResolver extends Object implements DescriptorMergeStrategyResolver
Resolves the DescriptorMergeStrategy to use for a given descriptor, based on the value of an element in the descriptor document.
Author:
Sumer Jabri, Alfonso Vasquez
  • Constructor Details

    • MetaDataMergeStrategyResolver

      public MetaDataMergeStrategyResolver()
  • Method Details

    • setMergeStrategyElementXPathQuery

      public void setMergeStrategyElementXPathQuery(String mergeStrategyElementXPathQuery)
    • setElementValueToStrategyMappings

      public void setElementValueToStrategyMappings(Map<String,DescriptorMergeStrategy> elementValueToStrategyMappings)
    • getStrategy

      public DescriptorMergeStrategy getStrategy(String descriptorUrl, org.dom4j.Document descriptorDom) throws XmlException
      Returns a DescriptorMergeStrategy for a given descriptor. The strategy chosen is the one defined in the descriptor document.
      Specified by:
      getStrategy in interface DescriptorMergeStrategyResolver
      Parameters:
      descriptorUrl - the URL that identifies the descriptor
      descriptorDom - the XML DOM of the descriptor
      Returns:
      the DescriptorMergeStrategy for the descriptor, or null if the DOM is null or if there's no element in the DOM that defines the merge strategy to use.
      Throws:
      XmlException - if the element value doesn't refer to an existing strategy