Class DefaultSiteModelInheritanceAssembler
- java.lang.Object
-
- org.apache.maven.doxia.site.inheritance.DefaultSiteModelInheritanceAssembler
-
- All Implemented Interfaces:
SiteModelInheritanceAssembler
@Singleton @Named public class DefaultSiteModelInheritanceAssembler extends java.lang.Object implements SiteModelInheritanceAssembler
Manage inheritance of the site model.- Author:
- Brett Porter, Henning P. Schmiedehausen
-
-
Constructor Summary
Constructors Constructor Description DefaultSiteModelInheritanceAssembler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidassembleModelInheritance(java.lang.String name, SiteModel child, SiteModel parent, java.lang.String childBaseUrl, java.lang.String parentBaseUrl)Manage inheritance of the site model between a parent and child.voidresolvePaths(SiteModel siteModel, java.lang.String baseUrl)Resolve relative paths for a SiteModel given a base URL.
-
-
-
Method Detail
-
assembleModelInheritance
public void assembleModelInheritance(java.lang.String name, SiteModel child, SiteModel parent, java.lang.String childBaseUrl, java.lang.String parentBaseUrl)Manage inheritance of the site model between a parent and child. Any relative links in the parent model will be re-based to work from the merged child model, otherwise no content from either the parent or child model should be modified.- Specified by:
assembleModelInheritancein interfaceSiteModelInheritanceAssembler- Parameters:
name- a name, used for breadcrumb. If the parent model contains breadcrumbs and the child doesn't, a child breadcrumb will be added to the merged model with this name. Not null.child- the child SiteModel to be merged with parent. Not null. If parent == null, the child is unchanged, otherwise child will contain the merged model upon exit.parent- the parent SiteModel. Unchanged upon exit. May be null in which case the child is not changed.childBaseUrl- the child base URL. May be null, in which case relative links inherited from the parent will not be resolved in the merged child.parentBaseUrl- the parent base URL. May be null, in which case relative links inherited from the parent will not be resolved in the merged child.
-
resolvePaths
public void resolvePaths(SiteModel siteModel, java.lang.String baseUrl)
Resolve relative paths for a SiteModel given a base URL. Note that 'resolve' here means 'relativize' in the sense ofURI.relativize(java.net.URI), ie if any link in the site model has a base URL that is equal to the given baseUrl, it is replaced by a relative link with respect to that base.- Specified by:
resolvePathsin interfaceSiteModelInheritanceAssembler- Parameters:
siteModel- the SiteModel. Not null.baseUrl- the base URL. May be null in which case the site model is unchanged.
-
-