org.apache.maven.doxia.site.decoration.inheritance
Class DefaultDecorationModelInheritanceAssembler

java.lang.Object
  extended by org.apache.maven.doxia.site.decoration.inheritance.DefaultDecorationModelInheritanceAssembler
All Implemented Interfaces:
DecorationModelInheritanceAssembler

public class DefaultDecorationModelInheritanceAssembler
extends Object
implements DecorationModelInheritanceAssembler

Manage inheritance of the decoration model.

Version:
$Id: DefaultDecorationModelInheritanceAssembler.java 1310075 2012-04-05 21:25:03Z dennisl $
Author:
Brett Porter, Henning P. Schmiedehausen
Plexus component:
role:
"org.apache.maven.doxia.site.decoration.inheritance.DecorationModelInheritanceAssembler"

Nested Class Summary
 class DefaultDecorationModelInheritanceAssembler.URLContainer
          Contains an old and a new path.
 
Field Summary
 
Fields inherited from interface org.apache.maven.doxia.site.decoration.inheritance.DecorationModelInheritanceAssembler
ROLE
 
Constructor Summary
DefaultDecorationModelInheritanceAssembler()
           
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultDecorationModelInheritanceAssembler

public DefaultDecorationModelInheritanceAssembler()
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 interface DecorationModelInheritanceAssembler
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 of URI.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 interface DecorationModelInheritanceAssembler
Parameters:
decoration - the DecorationModel. Not null.
baseUrl - the base URL. May be null in which case the decoration model is unchanged.


Copyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.