php-yaoi/php-yaoi

View on GitHub
src/Database/Definition/Index.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace Yaoi\Database\Definition;

use Yaoi\BaseClass;

class Index extends BaseClass
{
    const TYPE_KEY = 'key';
    const TYPE_UNIQUE = 'unique';
    const TYPE_PRIMARY = 'primary';

    /** @var Column[]  */
    public $columns = array();
    public $type = self::TYPE_KEY;

    public function __construct($columns) {
        if (is_array($columns)) {
            $this->columns = $columns;
        }
        else {
            $this->columns = func_get_args();
        }
    }

    public function setType($type) {
        $this->type = $type;
        return $this;
    }

    private $name;
    public function setName($name) {
        $this->name = $name;
        return $this;
    }

    public function getName() {
        if (!$this->name) {
            $this->name = $this->type;
            foreach ($this->columns as $column) {
                $this->name .= '_' . $column->schemaName;
            }
        }
        return $this->name;
    }

}