Interface DecorationModelInheritanceAssembler
- All Known Implementing Classes:
DefaultDecorationModelInheritanceAssembler
public interface DecorationModelInheritanceAssembler
Manage inheritance of the decoration model.
- Author:
- Brett Porter
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoid
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.
-
Field Details
-
ROLE
Plexus lookup role.
-
-
Method Details
-
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
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.
-