* @copyright 2010-2014 Justin Swanhart and André Rothe * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause) * @version SVN: $Id$ * */ namespace PHPSQLParser\builders; /** * This class implements the builder for the whole Replace statement. You can overwrite * all functions to achieve another handling. * * @author André Rothe * @license http://www.debian.org/misc/bsd.license BSD License (3 Clause) * */ class ReplaceStatementBuilder implements Builder { protected function buildVALUES($parsed) { $builder = new ValuesBuilder(); return $builder->build($parsed); } protected function buildREPLACE($parsed) { $builder = new ReplaceBuilder(); return $builder->build($parsed); } protected function buildSELECT($parsed) { $builder = new SelectStatementBuilder(); return $builder->build($parsed); } protected function buildSET($parsed) { $builder = new SetBuilder(); return $builder->build($parsed); } public function build(array $parsed) { // TODO: are there more than one tables possible (like [REPLACE][1]) $sql = $this->buildREPLACE($parsed['REPLACE']); if (isset($parsed['VALUES'])) { $sql .= ' ' . $this->buildVALUES($parsed['VALUES']); } if (isset($parsed['SET'])) { $sql .= ' ' . $this->buildSET($parsed['SET']); } if (isset($parsed['SELECT'])) { $sql .= ' ' . $this->buildSELECT($parsed); } return $sql; } } ?>