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 Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetStrategy
(String descriptorUrl, org.dom4j.Document descriptorDom) Returns aDescriptorMergeStrategy
for a given descriptor.void
setElementValueToStrategyMappings
(Map<String, DescriptorMergeStrategy> elementValueToStrategyMappings) void
setMergeStrategyElementXPathQuery
(String mergeStrategyElementXPathQuery)
-
Constructor Details
-
MetaDataMergeStrategyResolver
public MetaDataMergeStrategyResolver()
-
-
Method Details
-
setMergeStrategyElementXPathQuery
-
setElementValueToStrategyMappings
public void setElementValueToStrategyMappings(Map<String, DescriptorMergeStrategy> elementValueToStrategyMappings) -
getStrategy
public DescriptorMergeStrategy getStrategy(String descriptorUrl, org.dom4j.Document descriptorDom) throws XmlException Returns aDescriptorMergeStrategy
for a given descriptor. The strategy chosen is the one defined in the descriptor document.- Specified by:
getStrategy
in interfaceDescriptorMergeStrategyResolver
- Parameters:
descriptorUrl
- the URL that identifies the descriptordescriptorDom
- 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
-