/** * 指定された Renderer, Indent, BreakControl オブジェクトを使って * マークアップを行う DefaultContext オブジェクトを構築します. * * @param Renderer $renderer * @param Indent $indent * @param BreakControl $breakControl */ public function __construct(Renderer $renderer, Indent $indent = null, BreakControl $breakControl = null) { if (!isset($indent)) { $indent = new Indent(); } if (!isset($breakControl)) { $breakControl = DefaultBreakControl::getInstance(); } $this->renderer = $renderer; $this->indent = $indent; $this->breakControl = $breakControl; $this->isIndentMode = true; $this->isCommentMode = false; $this->result = ""; }
/** * この Builder にセットされている Indent, Renderer, BreakControl * を使って新しい DefaultContext を生成します. * * @return DefaultContext 新しい DefaultContext */ protected function createContext() { $indent = isset($this->indent) ? clone $this->indent : new Indent(); $renderer = isset($this->renderer) ? $this->renderer : XmlRenderer::getInstance(); $breakControl = isset($this->breakControl) ? $this->breakControl : DefaultBreakControl::getInstance(); return new DefaultContext($renderer, $indent, $breakControl); }