setName($name); } /** * @param string $name * @return self */ public function setName($name) { $this->name = $name; return $this; } /** * @return null|string */ public function getName() { return $this->name; } /** * @param bool $nullable * @return self */ public function setNullable($nullable) { $this->isNullable = (bool) $nullable; return $this; } /** * @return bool */ public function isNullable() { return $this->isNullable; } /** * @param null|string|int $default * @return self */ public function setDefault($default) { $this->default = $default; return $this; } /** * @return null|string|int */ public function getDefault() { return $this->default; } /** * @param array $options * @return self */ public function setOptions(array $options) { $this->options = $options; return $this; } /** * @param string $name * @param string $value * @return self */ public function setOption($name, $value) { $this->options[$name] = $value; return $this; } /** * @return array */ public function getOptions() { return $this->options; } /** * @return array */ public function getExpressionData() { $spec = $this->specification; $params = array(); $params[] = $this->name; $params[] = $this->type; $types = array(self::TYPE_IDENTIFIER, self::TYPE_LITERAL); if (!$this->isNullable) { $params[1] .= ' NOT NULL'; } if ($this->default !== null) { $spec .= ' DEFAULT %s'; $params[] = $this->default; $types[] = self::TYPE_VALUE; } return array(array( $spec, $params, $types, )); } }