Chris@0: path, $this->getVars()); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Getter for asset content. Chris@0: * Chris@0: * @return string Chris@0: * Asset content. Chris@0: */ Chris@0: public function getContent() { Chris@0: return $this->content; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Getter for header template. Chris@0: * Chris@0: * @return string Chris@0: * Asset header template. Chris@0: */ Chris@0: public function getHeaderTemplate() { Chris@0: return $this->headerTemplate; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Getter for template. Chris@0: * Chris@0: * @return string Chris@0: * Asset template. Chris@0: */ Chris@0: public function getTemplate() { Chris@0: return $this->template; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Getter for asset vars. Chris@0: * Chris@0: * @return array Chris@0: * Asset template variables. Chris@0: */ Chris@0: public function getVars() { Chris@0: return $this->vars; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Getter for asset action. Chris@0: * Chris@0: * @return string Chris@0: * Asset action. Chris@0: */ Chris@0: public function getAction() { Chris@0: return $this->action; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Getter for asset header size. Chris@0: * Chris@0: * @return string Chris@0: * Asset header size. Chris@0: */ Chris@0: public function getHeaderSize() { Chris@0: return $this->headerSize; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Getter for asset mode. Chris@0: * Chris@0: * @return string Chris@0: * Asset file mode. Chris@0: */ Chris@0: public function getMode() { Chris@0: return $this->mode ?: ($this->isDirectory() ? 0755 : 0644); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Getter for asset type. Chris@0: * Chris@0: * @return string Chris@0: * Asset type. Chris@0: */ Chris@0: public function getType() { Chris@0: return $this->type; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Setter for asset path. Chris@0: * Chris@0: * @param string $path Chris@0: * Asset path. Chris@0: * Chris@0: * @return \DrupalCodeGenerator\Asset Chris@0: * The asset. Chris@0: */ Chris@0: public function path($path) { Chris@0: $this->path = $path; Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Setter for asset content. Chris@0: * Chris@0: * @param string $content Chris@0: * Asset content. Chris@0: * Chris@0: * @return \DrupalCodeGenerator\Asset Chris@0: * The asset. Chris@0: */ Chris@0: public function content($content) { Chris@0: $this->content = $content; Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Setter for asset header template. Chris@0: * Chris@0: * @param string $header_template Chris@0: * Asset template. Chris@0: * Chris@0: * @return \DrupalCodeGenerator\Asset Chris@0: * The asset. Chris@0: */ Chris@0: public function headerTemplate($header_template) { Chris@0: $this->headerTemplate = $header_template; Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Setter for asset template. Chris@0: * Chris@0: * @param string $template Chris@0: * Asset template. Chris@0: * Chris@0: * @return \DrupalCodeGenerator\Asset Chris@0: * The asset. Chris@0: */ Chris@0: public function template($template) { Chris@0: $this->template = $template; Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Setter for asset vars. Chris@0: * Chris@0: * @param array $vars Chris@0: * Asset template variables. Chris@0: * Chris@0: * @return \DrupalCodeGenerator\Asset Chris@0: * The asset. Chris@0: */ Chris@0: public function vars(array $vars) { Chris@0: $this->vars = $vars; Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Setter for asset action. Chris@0: * Chris@0: * @param string $action Chris@0: * Asset action. Chris@0: * Chris@0: * @return \DrupalCodeGenerator\Asset Chris@0: * The asset. Chris@0: */ Chris@0: public function action($action) { Chris@0: $this->action = $action; Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Setter for asset header size. Chris@0: * Chris@0: * @param int $header_size Chris@0: * Asset header size. Chris@0: * Chris@0: * @return \DrupalCodeGenerator\Asset Chris@0: * The asset. Chris@0: */ Chris@0: public function headerSize($header_size) { Chris@0: $this->headerSize = $header_size; Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Setter for asset mode. Chris@0: * Chris@0: * @param string $mode Chris@0: * Asset mode. Chris@0: * Chris@0: * @return \DrupalCodeGenerator\Asset Chris@0: * The asset. Chris@0: */ Chris@0: public function mode($mode) { Chris@0: $this->mode = $mode; Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Setter for asset type. Chris@0: * Chris@0: * @param string $type Chris@0: * Asset type. Chris@0: * Chris@0: * @return \DrupalCodeGenerator\Asset Chris@0: * The asset. Chris@0: */ Chris@0: public function type($type) { Chris@0: $this->type = $type; Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Determines if the asset is a directory. Chris@0: * Chris@0: * @return bool Chris@0: * True if the asset is a directory, false otherwise. Chris@0: */ Chris@0: public function isDirectory() { Chris@0: return $this->getType() == 'directory'; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Renders the asset template. Chris@0: * Chris@0: * @param \DrupalCodeGenerator\Helper\Renderer $renderer Chris@0: * Renderer helper. Chris@0: */ Chris@0: public function render(Renderer $renderer) { Chris@0: if (!$this->isDirectory() && is_null($this->getContent())) { Chris@0: $content = ''; Chris@0: if ($header_template = $this->getHeaderTemplate()) { Chris@0: $content .= $renderer->render($header_template, $this->getVars()) . "\n"; Chris@0: } Chris@0: $content .= $renderer->render($this->getTemplate(), $this->getVars()); Chris@0: $this->content($content); Chris@0: } Chris@0: } Chris@0: Chris@0: }