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 theDescriptorMergeStrategy
to use for a given descriptor, based on the value of an element in the descriptor document.- Author:
- Sumer Jabri, Alfonso Vasquez
-
-
Constructor Summary
Constructors Constructor Description MetaDataMergeStrategyResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DescriptorMergeStrategy
getStrategy(String descriptorUrl, org.dom4j.Document descriptorDom)
Returns aDescriptorMergeStrategy
for a given descriptor.void
setElementValueToStrategyMappings(Map<String,DescriptorMergeStrategy> elementValueToStrategyMappings)
void
setMergeStrategyElementXPathQuery(String mergeStrategyElementXPathQuery)
-
-
-
Method Detail
-
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 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
-
-