Class DefaultDecorationModelInheritanceAssembler
- java.lang.Object
-
- org.apache.maven.doxia.site.decoration.inheritance.DefaultDecorationModelInheritanceAssembler
-
- All Implemented Interfaces:
DecorationModelInheritanceAssembler
@Singleton @Named public class DefaultDecorationModelInheritanceAssembler extends Object implements DecorationModelInheritanceAssembler
Manage inheritance of the decoration model.- Author:
- Brett Porter, Henning P. Schmiedehausen
-
-
Constructor Summary
Constructors Constructor Description DefaultDecorationModelInheritanceAssembler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assembleModelInheritance(String name, DecorationModel child, DecorationModel parent, String childBaseUrl, String parentBaseUrl)
Manage inheritance of the decoration model between a parent and child.void
resolvePaths(DecorationModel decoration, String baseUrl)
Resolve relative paths for a DecorationModel given a base URL.
-
-
-
Method Detail
-
assembleModelInheritance
public void assembleModelInheritance(String name, DecorationModel child, DecorationModel parent, String childBaseUrl, String parentBaseUrl)
Manage inheritance of the decoration 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 interfaceDecorationModelInheritanceAssembler
- 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 DecorationModel 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 DecorationModel. 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(DecorationModel decoration, String baseUrl)
Resolve relative paths for a DecorationModel given a base URL. Note that 'resolve' here means 'relativize' in the sense ofURI.relativize(java.net.URI)
, ie if any link in the decoration 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 interfaceDecorationModelInheritanceAssembler
- Parameters:
decoration
- the DecorationModel. Not null.baseUrl
- the base URL. May be null in which case the decoration model is unchanged.
-
-