« Contents

Projection

Projector

SnippetRenderer

BlockRenderer


Diagram Source Data

title Create snippet and save it

Projector->+SnippetRendererCollection: render(ProjectionSourceData, ContextSource)
loop
SnippetRendererCollection->+SnippetRenderer: render(ProjectionSourceData, ContextSource)
SnippetRenderer->-SnippetRendererCollection: SnippetList
SnippetRendererCollection-> SnippetRendererCollection: merge(SnippetList)
end
SnippetRendererCollection->-Projector: SnippetList()
Projector->DataPoolWriter: writeSnippetList(SnippetList)
SnippetRenderer->+ContextSource: getAllAvailableContexts
ContextSource->-SnippetRenderer: Context
loop through contexts
SnippetRenderer->+BlockRenderer: render(ProjectionSourceData, Context)
BlockRenderer->-SnippetRenderer: string // Snippet Content
SnippetRenderer->+SnippetKeyGenerator: getKeyForContext(Context, mixed[])
SnippetKeyGenerator->-SnippetRenderer: string // Snippet Key
SnippetRenderer->+Snippet:create(key, content)
Snippet->-SnippetRenderer: Snippet
SnippetRenderer->SnippetList:add(Snippet)
end
BlockRenderer->+ThemeLocator: getLayoutForHandle(string)
ThemeLocator->-BlockRenderer: Layout
BlockRenderer->+Layout: getNodeChildren()
Layout->-BlockRenderer: outerMostBlockLayouts:Layout[]
BlockRenderer->+Block: <<create>>
Block->-BlockRenderer: Block
BlockRenderer->BlockStructure: addBlock(Block)
BlockRenderer->+Layout: getNodeChildren()
Layout->-BlockRenderer: rootBlockChildrenLayouts:Layout[]
loop through children block layouts
BlockRenderer->BlockRenderer: create child blocks recursively
BlockRenderer->BlockStructure: setParentBlock(name:string, childBlock:Block)
end

« Contents