* @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 CREATE INDEX 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 CreateIndexBuilder implements Builder { protected function buildIndexType($parsed) { $builder = new CreateIndexTypeBuilder(); return $builder->build($parsed); } protected function buildIndexTable($parsed) { $builder = new CreateIndexTableBuilder(); return $builder->build($parsed); } protected function buildIndexOptions($parsed) { $builder = new CreateIndexOptionsBuilder(); return $builder->build($parsed); } public function build(array $parsed) { $sql = $parsed['name']; $sql .= ' ' . $this->buildIndexType($parsed); $sql = trim($sql); $sql .= ' ' . $this->buildIndexTable($parsed); $sql = trim($sql); $sql .= $this->buildIndexOptions($parsed); return trim($sql); } } ?>