TYPO3 API  SVNRelease
LogicalAnd.php
Go to the documentation of this file.
00001 <?php
00002 /***************************************************************
00003 *  Copyright notice
00004 *
00005 *  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
00006 *  All rights reserved
00007 *
00008 *  This class is a backport of the corresponding class of FLOW3.
00009 *  All credits go to the v5 team.
00010 *
00011 *  This script is part of the TYPO3 project. The TYPO3 project is
00012 *  free software; you can redistribute it and/or modify
00013 *  it under the terms of the GNU General Public License as published by
00014 *  the Free Software Foundation; either version 2 of the License, or
00015 *  (at your option) any later version.
00016 *
00017 *  The GNU General Public License can be found at
00018 *  http://www.gnu.org/copyleft/gpl.html.
00019 *
00020 *  This script is distributed in the hope that it will be useful,
00021 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00022 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00023 *  GNU General Public License for more details.
00024 *
00025 *  This copyright notice MUST APPEAR in all copies of the script!
00026 ***************************************************************/
00027 
00028 /**
00029  * Performs a logical conjunction of two other constraints.
00030  *
00031  * To satisfy the And constraint, a node-tuple must satisfy both constraint1 and
00032  * constraint2.
00033  *
00034  * @package Extbase
00035  * @subpackage Persistence\QOM
00036  * @version $Id: LogicalAnd.php 1729 2009-11-25 21:37:20Z stucki $
00037  * @scope prototype
00038  */
00039 class Tx_Extbase_Persistence_QOM_LogicalAnd implements Tx_Extbase_Persistence_QOM_AndInterface {
00040 
00041     /**
00042      * @var Tx_Extbase_Persistence_QOM_ConstraintInterface
00043      */
00044     protected $constraint1;
00045 
00046     /**
00047      * @var Tx_Extbase_Persistence_QOM_ConstraintInterface
00048      */
00049     protected $constraint2;
00050 
00051     /**
00052      *
00053      * @param Tx_Extbase_Persistence_QOM_ConstraintInterface $constraint1
00054      * @param Tx_Extbase_Persistence_QOM_ConstraintInterface $constraint2
00055      */
00056     public function __construct(Tx_Extbase_Persistence_QOM_ConstraintInterface $constraint1, Tx_Extbase_Persistence_QOM_ConstraintInterface $constraint2) {
00057         $this->constraint1 = $constraint1;
00058         $this->constraint2 = $constraint2;
00059     }
00060 
00061     /**
00062      * Fills an array with the names of all bound variables in the constraints
00063      *
00064      * @param array &$boundVariables
00065      * @return void
00066      */
00067     public function collectBoundVariableNames(&$boundVariables) {
00068         $this->constraint1->collectBoundVariableNames($boundVariables);
00069         $this->constraint2->collectBoundVariableNames($boundVariables);
00070     }
00071 
00072     /**
00073      * Gets the first constraint.
00074      *
00075      * @return Tx_Extbase_Persistence_QOM_ConstraintInterface the constraint; non-null
00076      */
00077     public function getConstraint1() {
00078         return $this->constraint1;
00079     }
00080 
00081     /**
00082      * Gets the second constraint.
00083      *
00084      * @return Tx_Extbase_Persistence_QOM_ConstraintInterface the constraint; non-null
00085      */
00086     public function getConstraint2() {
00087         return $this->constraint2;
00088     }
00089 
00090 }
00091 ?>