Class DefaultSiteModelInheritanceAssembler

java.lang.Object
org.apache.maven.doxia.site.inheritance.DefaultSiteModelInheritanceAssembler
All Implemented Interfaces:
SiteModelInheritanceAssembler

@Singleton @Named public class DefaultSiteModelInheritanceAssembler extends Object implements SiteModelInheritanceAssembler
Manage inheritance of the site model.
Author:
Brett Porter, Henning P. Schmiedehausen
  • Constructor Details

    • DefaultSiteModelInheritanceAssembler

      public DefaultSiteModelInheritanceAssembler()
  • Method Details

    • assembleModelInheritance

      public void assembleModelInheritance(String name, SiteModel child, SiteModel parent, String childBaseUrl, 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:
      assembleModelInheritance in interface SiteModelInheritanceAssembler
      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, String baseUrl)
      Resolve relative paths for a SiteModel given a base URL. Note that 'resolve' here means 'relativize' in the sense of URI.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:
      resolvePaths in interface SiteModelInheritanceAssembler
      Parameters:
      siteModel - the SiteModel. Not null.
      baseUrl - the base URL. May be null in which case the site model is unchanged.