[TASK] Namespace classes
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Classes / Persistence / Generic / Qom / LogicalAnd.php
1 <?php
2 namespace TYPO3\CMS\Extbase\Persistence\Generic\Qom;
3
4 /***************************************************************
5 * Copyright notice
6 *
7 * (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
8 * All rights reserved
9 *
10 * This class is a backport of the corresponding class of FLOW3.
11 * All credits go to the v5 team.
12 *
13 * This script is part of the TYPO3 project. The TYPO3 project is
14 * free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * The GNU General Public License can be found at
20 * http://www.gnu.org/copyleft/gpl.html.
21 *
22 * This script is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU General Public License for more details.
26 *
27 * This copyright notice MUST APPEAR in all copies of the script!
28 ***************************************************************/
29 /**
30 * Performs a logical conjunction of two other constraints.
31 *
32 * To satisfy the And constraint, a node-tuple must satisfy both constraint1 and
33 * constraint2.
34 *
35 * @package Extbase
36 * @subpackage Persistence\QOM
37 * @version $Id$
38 * @scope prototype
39 */
40 class LogicalAnd implements \TYPO3\CMS\Extbase\Persistence\Generic\Qom\AndInterface {
41
42 /**
43 * @var \TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface
44 */
45 protected $constraint1;
46
47 /**
48 * @var \TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface
49 */
50 protected $constraint2;
51
52 /**
53 * @param \TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface $constraint1
54 * @param \TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface $constraint2
55 */
56 public function __construct(\TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface $constraint1, \TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface $constraint2) {
57 $this->constraint1 = $constraint1;
58 $this->constraint2 = $constraint2;
59 }
60
61 /**
62 * Fills an array with the names of all bound variables in the constraints
63 *
64 * @param array &$boundVariables
65 * @return void
66 */
67 public function collectBoundVariableNames(&$boundVariables) {
68 $this->constraint1->collectBoundVariableNames($boundVariables);
69 $this->constraint2->collectBoundVariableNames($boundVariables);
70 }
71
72 /**
73 * Gets the first constraint.
74 *
75 * @return \TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface the constraint; non-null
76 */
77 public function getConstraint1() {
78 return $this->constraint1;
79 }
80
81 /**
82 * Gets the second constraint.
83 *
84 * @return \TYPO3\CMS\Extbase\Persistence\Generic\Qom\ConstraintInterface the constraint; non-null
85 */
86 public function getConstraint2() {
87 return $this->constraint2;
88 }
89
90 }
91
92
93 ?>