1<?php
2/**
3 * AliasBuilder.php
4 *
5 * Builds aliases.
6 *
7 * PHP version 5
8 *
9 * LICENSE:
10 * Copyright (c) 2010-2014 Justin Swanhart and André Rothe
11 * All rights reserved.
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 * 1. Redistributions of source code must retain the above copyright
17 *    notice, this list of conditions and the following disclaimer.
18 * 2. Redistributions in binary form must reproduce the above copyright
19 *    notice, this list of conditions and the following disclaimer in the
20 *    documentation and/or other materials provided with the distribution.
21 * 3. The name of the author may not be used to endorse or promote products
22 *    derived from this software without specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
25 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
27 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
28 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
29 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 *
35 * @author    André Rothe <andre.rothe@phosco.info>
36 * @copyright 2010-2014 Justin Swanhart and André Rothe
37 * @license   http://www.debian.org/misc/bsd.license  BSD License (3 Clause)
38 * @version   SVN: $Id$
39 *
40 */
41
42namespace PHPSQLParser\builders;
43
44/**
45 * This class implements the builder for aliases.
46 * You can overwrite all functions to achieve another handling.
47 *
48 * @author  André Rothe <andre.rothe@phosco.info>
49 * @license http://www.debian.org/misc/bsd.license  BSD License (3 Clause)
50 *
51 */
52class AliasBuilder implements Builder {
53
54    public function hasAlias($parsed) {
55        return isset($parsed['alias']);
56    }
57
58    public function build(array $parsed) {
59        if (!isset($parsed['alias']) || $parsed['alias'] === false) {
60            return "";
61        }
62        $sql = "";
63        if ($parsed['alias']['as']) {
64            $sql .= " AS";
65        }
66        $sql .= " " . $parsed['alias']['name'];
67        return $sql;
68    }
69}
70?>
71