Interface DecorationModelInheritanceAssembler
-
- All Known Implementing Classes:
DefaultDecorationModelInheritanceAssembler
public interface DecorationModelInheritanceAssembler
Manage inheritance of the decoration model.- Author:
- Brett Porter
-
-
Method Summary
All Methods Instance Methods Abstract 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
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.- 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
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.- Parameters:
decoration
- the DecorationModel. Not null.baseUrl
- the base URL. May be null in which case the decoration model is unchanged.
-
-