Added the zend framework 2 library, the path is specified in line no.26 in zend_modul...
[openemr.git] / interface / modules / zend_modules / library / Zend / Db / Sql / Ddl / Constraint / ForeignKey.php
blobc29df551f48803a0c6cd5e393c95623632b4dbb3
1 <?php
2 /**
3 * Zend Framework (http://framework.zend.com/)
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
6 * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
7 * @license http://framework.zend.com/license/new-bsd New BSD License
8 */
10 namespace Zend\Db\Sql\Ddl\Constraint;
12 class ForeignKey extends AbstractConstraint
14 /**
15 * @var string
17 protected $name;
19 /**
20 * @var string
22 protected $onDeleteRule = 'NO ACTION';
24 /**
25 * @var string
27 protected $onUpdateRule = 'NO ACTION';
29 /**
30 * @var string
32 protected $referenceColumn;
34 /**
35 * @var string
37 protected $referenceTable;
39 /**
40 * @var string
42 protected $specification = 'CONSTRAINT %1$s FOREIGN KEY (%2$s) REFERENCES %3$s (%4$s) ON DELETE %5$s ON UPDATE %6$s';
44 /**
45 * @param array|null|string $name
46 * @param string $column
47 * @param string $referenceTable
48 * @param string $referenceColumn
49 * @param null|string $onDeleteRule
50 * @param null|string $onUpdateRule
52 public function __construct($name, $column, $referenceTable, $referenceColumn, $onDeleteRule = null, $onUpdateRule = null)
54 $this->setName($name);
55 $this->setColumns($column);
56 $this->setReferenceTable($referenceTable);
57 $this->setReferenceColumn($referenceColumn);
58 (!$onDeleteRule) ?: $this->setOnDeleteRule($onDeleteRule);
59 (!$onUpdateRule) ?: $this->setOnUpdateRule($onUpdateRule);
62 /**
63 * @param string $name
64 * @return self
66 public function setName($name)
68 $this->name = $name;
69 return $this;
72 /**
73 * @return string
75 public function getName()
77 return $this->name;
80 /**
81 * @param string $referenceTable
82 * @return self
84 public function setReferenceTable($referenceTable)
86 $this->referenceTable = $referenceTable;
87 return $this;
90 /**
91 * @return string
93 public function getReferenceTable()
95 return $this->referenceTable;
98 /**
99 * @param string $referenceColumn
100 * @return self
102 public function setReferenceColumn($referenceColumn)
104 $this->referenceColumn = $referenceColumn;
105 return $this;
109 * @return string
111 public function getReferenceColumn()
113 return $this->referenceColumn;
117 * @param string $onDeleteRule
118 * @return self
120 public function setOnDeleteRule($onDeleteRule)
122 $this->onDeleteRule = $onDeleteRule;
123 return $this;
127 * @return string
129 public function getOnDeleteRule()
131 return $this->onDeleteRule;
135 * @param string $onUpdateRule
136 * @return self
138 public function setOnUpdateRule($onUpdateRule)
140 $this->onUpdateRule = $onUpdateRule;
141 return $this;
145 * @return string
147 public function getOnUpdateRule()
149 return $this->onUpdateRule;
153 * @return array
155 public function getExpressionData()
157 return array(array(
158 $this->specification,
159 array(
160 $this->name,
161 $this->columns[0],
162 $this->referenceTable,
163 $this->referenceColumn,
164 $this->onDeleteRule,
165 $this->onUpdateRule,
167 array(
168 self::TYPE_IDENTIFIER,
169 self::TYPE_IDENTIFIER,
170 self::TYPE_IDENTIFIER,
171 self::TYPE_IDENTIFIER,
172 self::TYPE_LITERAL,
173 self::TYPE_LITERAL,