Class ContentBundleMergeStrategy
- java.lang.Object
-
- org.craftercms.core.xml.mergers.impl.strategies.ContentBundleMergeStrategy
-
- All Implemented Interfaces:
DescriptorMergeStrategy
public class ContentBundleMergeStrategy extends Object implements DescriptorMergeStrategy
DescriptorMergeStrategythat returns the level descriptors in the hierarchy and the base descriptors when some of the parent folders are part of a content bundle (which is similar to a resource bundle, but instead of simple properties, a content bundle is formed by XML content (descriptors)). E.g., for a descriptor pathfolder1/folder2_es/file.xml, the descriptorfolder1/folder2/file.xmlis returned for the merge.- Author:
- Sumer Jabri, Alfonso Vásquez
-
-
Constructor Summary
Constructors Constructor Description ContentBundleMergeStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.dom4j.DocumentgetDescriptorDom(Context context, CachingOptions cachingOptions, String url)List<MergeableDescriptor>getDescriptors(Context context, CachingOptions cachingOptions, String mainDescriptorUrl, org.dom4j.Document mainDescriptorDom)Returns the list of descriptors in the order they should be merged, given the URI of the primary descriptor.List<MergeableDescriptor>getDescriptors(Context context, CachingOptions cachingOptions, String mainDescriptorUrl, org.dom4j.Document mainDescriptorDom, boolean mainDescriptorOptional)Returns the list of descriptors in the order they should be merged, given the URI of the primary descriptor.voidsetBaseDelimiter(String baseDelimiter)voidsetBaseMergeStrategyResolver(DescriptorMergeStrategyResolver baseMergeStrategyResolver)voidsetRegularMergeStrategy(DescriptorMergeStrategy regularMergeStrategy)voidsetUrlParser(ContentBundleUrlParser urlParser)
-
-
-
Method Detail
-
setUrlParser
public void setUrlParser(ContentBundleUrlParser urlParser)
-
setBaseDelimiter
public void setBaseDelimiter(String baseDelimiter)
-
setBaseMergeStrategyResolver
public void setBaseMergeStrategyResolver(DescriptorMergeStrategyResolver baseMergeStrategyResolver)
-
setRegularMergeStrategy
public void setRegularMergeStrategy(DescriptorMergeStrategy regularMergeStrategy)
-
getDescriptors
public List<MergeableDescriptor> getDescriptors(Context context, CachingOptions cachingOptions, String mainDescriptorUrl, org.dom4j.Document mainDescriptorDom) throws XmlMergeException
Description copied from interface:DescriptorMergeStrategyReturns the list of descriptors in the order they should be merged, given the URI of the primary descriptor.- Specified by:
getDescriptorsin interfaceDescriptorMergeStrategy- Parameters:
context- the current contextcachingOptions- caching options in case you need access to itemsmainDescriptorUrl- the URL of the main descriptormainDescriptorDom- the DOM of the main descriptor- Returns:
- a list of
MergeableDescriptors representing the descriptors to merge - Throws:
XmlMergeException
-
getDescriptors
public List<MergeableDescriptor> getDescriptors(Context context, CachingOptions cachingOptions, String mainDescriptorUrl, org.dom4j.Document mainDescriptorDom, boolean mainDescriptorOptional) throws XmlMergeException
Description copied from interface:DescriptorMergeStrategyReturns the list of descriptors in the order they should be merged, given the URI of the primary descriptor.- Specified by:
getDescriptorsin interfaceDescriptorMergeStrategy- Parameters:
context- the current contextcachingOptions- caching options in case you need access to itemsmainDescriptorUrl- the URL of the primary descriptormainDescriptorDom- the DOM of the main descriptormainDescriptorOptional- if the primary descriptor should be marked as optional- Returns:
- a list of
MergeableDescriptors representing the descriptors to merge - Throws:
XmlMergeException
-
getDescriptorDom
protected org.dom4j.Document getDescriptorDom(Context context, CachingOptions cachingOptions, String url)
-
-