Add Extbase 1.0.1 to TYPO3core. Do NOT make changes inside! See misc/core_svn_rules...
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Classes / Persistence / QOM / Ordering.php
1 <?php
2 /***************************************************************
3 * Copyright notice
4 *
5 * (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
6 * All rights reserved
7 *
8 * This class is a backport of the corresponding class of FLOW3.
9 * All credits go to the v5 team.
10 *
11 * This script is part of the TYPO3 project. The TYPO3 project is
12 * free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * The GNU General Public License can be found at
18 * http://www.gnu.org/copyleft/gpl.html.
19 *
20 * This script is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
27
28 /**
29 * Determines the relative order of two rows in the result set by evaluating operand for
30 * each.
31 *
32 * @package Extbase
33 * @subpackage Persistence\QOM
34 * @version $Id: Ordering.php 1729 2009-11-25 21:37:20Z stucki $
35 */
36 class Tx_Extbase_Persistence_QOM_Ordering implements Tx_Extbase_Persistence_QOM_OrderingInterface {
37
38 /**
39 * @var Tx_Extbase_Persistence_QOM_DynamicOperandInterface
40 */
41 protected $operand;
42
43 /**
44 * @var string One of Tx_Extbase_Persistence_QOM_QueryObjectModelConstantsInterface::JCR_ORDER_*
45 */
46 protected $order;
47
48 /**
49 * Constructs the Ordering instance
50 *
51 * @param Tx_Extbase_Persistence_QOM_DynamicOperandInterface $operand The operand; non-null
52 * @param string either Tx_Extbase_Persistence_QOM_QueryObjectModelConstantsInterface::JCR_ORDER_ASCENDING or Tx_Extbase_Persistence_QOM_QueryObjectModelConstantsInterface::JCR_ORDER_DESCENDING
53 */
54 public function __construct(Tx_Extbase_Persistence_QOM_DynamicOperandInterface $operand, $order = Tx_Extbase_Persistence_QOM_QueryObjectModelConstantsInterface::JCR_ORDER_ASCENDING) {
55 $this->operand = $operand;
56 $this->order = $order;
57 }
58
59 /**
60 * The operand by which to order.
61 *
62 * @return Tx_Extbase_Persistence_QOM_DynamicOperandInterface the operand; non-null
63 */
64 public function getOperand() {
65 return $this->operand;
66 }
67
68 /**
69 * Gets the order.
70 *
71 * @return string either Tx_Extbase_Persistence_QOM_QueryObjectModelConstantsInterface::JCR_ORDER_ASCENDING or Tx_Extbase_Persistence_QOM_QueryObjectModelConstantsInterface::JCR_ORDER_DESCENDING
72 */
73 public function getOrder() {
74 return $this->order;
75 }
76
77 }
78
79 ?>