Class AbstractInheritFromHierarchyMergeStrategy
java.lang.Object
org.craftercms.core.xml.mergers.impl.strategies.AbstractInheritFromHierarchyMergeStrategy
- All Implemented Interfaces:
DescriptorMergeStrategy
- Direct Known Subclasses:
CompositeInheritFromHierarchyMergeStrategy,InheritLevelsMergeStrategy,InheritVersionsMergeStrategy
public abstract class AbstractInheritFromHierarchyMergeStrategy
extends Object
implements DescriptorMergeStrategy
Abstract
DescriptorMergeStrategy that defines the base code for strategies
that decide which descriptors to "inherit" from upper levels in the folder hierarchy.- Author:
- Sumer Jabri, Alfonso Vásquez
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidaddInheritedDescriptorsInFolder(Context context, CachingOptions cachingOptions, List<MergeableDescriptor> inheritedDescriptors, String folder, String mainDescriptorUrl, org.dom4j.Document mainDescriptorDom) 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.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.protected intvoidsetBaseFolders(String[] baseFolders)
-
Field Details
-
baseFolders
-
-
Constructor Details
-
AbstractInheritFromHierarchyMergeStrategy
public AbstractInheritFromHierarchyMergeStrategy()
-
-
Method Details
-
setBaseFolders
-
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
-
getIndexAfterBaseFolder
-
addInheritedDescriptorsInFolder
protected abstract void addInheritedDescriptorsInFolder(Context context, CachingOptions cachingOptions, List<MergeableDescriptor> inheritedDescriptors, String folder, String mainDescriptorUrl, org.dom4j.Document mainDescriptorDom)
-