DocumentTree

case class DocumentTree(path: Path, content: Seq[TreeContent], titleDocument: Option[Document], templates: Seq[TemplateDocument], config: Config, position: TreePosition) extends TreeStructure with TreeContent

Represents a tree with all its documents, templates, configurations and subtrees.

Value parameters:
config

the configuration associated with this tree

content

the markup documents and subtrees

path

the full, absolute path of this (virtual) document tree

position

the position of this tree inside a document ast hierarchy, expressed as a list of Ints

templates

all templates on this level of the tree hierarchy that might get applied to a document when it gets rendered

titleDocument

the optional title document of this tree

trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

Creates a new tree by applying the specified function to all documents in this tree recursively.

Creates a new tree by applying the specified function to all documents in this tree recursively.

Returns a new tree, with all the document models contained in it rewritten based on the specified rewrite rules.

Returns a new tree, with all the document models contained in it rewritten based on the specified rewrite rules.

If the rule is not defined for a specific element or the rule returns a Retain action as a result the old element remains in the tree unchanged.

If it returns Remove then the node gets removed from the ast, if it returns Replace with a new element it will replace the old one.

The rewriting is performed bottom-up (depth-first), therefore any element container passed to the rule only contains children which have already been processed.

The specified factory function will be invoked for each document contained in this tree and must return the rewrite rules for that particular document.

Inherited methods

Appends the specified content to this tree and return a new instance.

Appends the specified content to this tree and return a new instance.

Inherited from:
TreeStructure

Appends the specified content to this tree and return a new instance.

Appends the specified content to this tree and return a new instance.

Inherited from:
TreeStructure

Creates the navigation structure for this tree up to the specified depth. The returned instance can be used as part of a bigger navigation structure comprising of trees, documents and their sections.

Creates the navigation structure for this tree up to the specified depth. The returned instance can be used as part of a bigger navigation structure comprising of trees, documents and their sections.

Value parameters:
context

captures the navigation depth, reference path and styles for the navigation tree being built

Returns:

a navigation item that can be used as part of a bigger navigation structure comprising of trees, documents and their sections

Inherited from:
TreeStructure
def getDefaultTemplate(formatSuffix: String): Option[TemplateDocument]

Selects the template with the name default.template.<suffix> for the specified format suffix from this level of the document tree.

Selects the template with the name default.template.<suffix> for the specified format suffix from this level of the document tree.

Inherited from:
TreeStructure
Inherited from:
TreeStructure

Prepends the specified content to this tree and return a new instance.

Prepends the specified content to this tree and return a new instance.

Inherited from:
TreeStructure

Prepends the specified content to this tree and return a new instance.

Prepends the specified content to this tree and return a new instance.

Inherited from:
TreeStructure
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product

Selects a document from this tree or one of its subtrees by the specified path. The path must not point to a parent tree (start with ../) as this instance is not aware of its parents.

Selects a document from this tree or one of its subtrees by the specified path. The path must not point to a parent tree (start with ../) as this instance is not aware of its parents.

Inherited from:
TreeStructure
def selectDocument(path: String): Option[Document]

Selects a document from this tree or one of its subtrees by the specified path. The path needs to be relative and not point to a parent tree (neither start with / nor with ..).

Selects a document from this tree or one of its subtrees by the specified path. The path needs to be relative and not point to a parent tree (neither start with / nor with ..).

Inherited from:
TreeStructure

Selects a subtree of this tree by the specified path. The path must not point to a parent tree (start with ../) as this instance is not aware of its parents.

Selects a subtree of this tree by the specified path. The path must not point to a parent tree (start with ../) as this instance is not aware of its parents.

Inherited from:
TreeStructure
def selectSubtree(path: String): Option[DocumentTree]

Selects a subtree of this tree by the specified path. The path needs to be relative and it may point to a deeply nested subtree, not just immediate children.

Selects a subtree of this tree by the specified path. The path needs to be relative and it may point to a deeply nested subtree, not just immediate children.

Inherited from:
TreeStructure

Selects a template from this tree or one of its subtrees by the specified path. The path must not point to a parent tree (start with ../) as this instance is not aware of its parents.

Selects a template from this tree or one of its subtrees by the specified path. The path must not point to a parent tree (start with ../) as this instance is not aware of its parents.

Inherited from:
TreeStructure
def selectTemplate(path: String): Option[TemplateDocument]

Selects a template from this tree or one of its subtrees by the specified path. The path needs to be relative.

Selects a template from this tree or one of its subtrees by the specified path. The path needs to be relative.

Inherited from:
TreeStructure

The formats this tree content should be rendered to.

The formats this tree content should be rendered to.

Inherited from:
TreeContent
protected def titleFromConfig: Option[SpanSequence]
Inherited from:
TreeContent
def withDefaultTemplate(template: TemplateRoot, formatSuffix: String): DocumentTree

Create a new document tree that contains the specified template as the default.

Create a new document tree that contains the specified template as the default.

Inherited from:
TreeStructure

Concrete fields

Inherited fields

lazy val allDocuments: Seq[Document]

All documents contained in this tree, fetched recursively, depth-first.

All documents contained in this tree, fetched recursively, depth-first.

Inherited from:
TreeStructure
lazy val isEmpty: Boolean

Indicates whether this tree does not contain any markup document. Template documents do not count, as they would be ignored in rendering when there is no markup document.

Indicates whether this tree does not contain any markup document. Template documents do not count, as they would be ignored in rendering when there is no markup document.

Inherited from:
TreeStructure
lazy val name: String

The local name of this navigatable.

The local name of this navigatable.

Inherited from:
Navigatable
lazy val title: Option[SpanSequence]

The title of this tree, obtained from configuration.

The title of this tree, obtained from configuration.

Inherited from:
TreeStructure