1<?php
2
3/*
4 * This file is part of the TYPO3 CMS project.
5 *
6 * It is free software; you can redistribute it and/or modify it under
7 * the terms of the GNU General Public License, either version 2
8 * of the License, or any later version.
9 *
10 * For the full copyright and license information, please read the
11 * LICENSE.txt file that was distributed with this source code.
12 *
13 * The TYPO3 project - inspiring people to share!
14 */
15
16namespace TYPO3\CMS\Extbase\Persistence\Generic\Qom;
17
18/**
19 * Performs a join between two node-tuple sources.
20 */
21interface JoinInterface extends SourceInterface
22{
23    /**
24     * Gets the left node-tuple source.
25     *
26     * @return SelectorInterface the left source; non-null
27     */
28    public function getLeft();
29
30    /**
31     * Gets the right node-tuple source.
32     *
33     * @return SelectorInterface the right source; non-null
34     */
35    public function getRight();
36
37    /**
38     * Gets the join type.
39     *
40     * @return string one of QueryObjectModelConstants.JCR_JOIN_TYPE_*
41     */
42    public function getJoinType();
43
44    /**
45     * Gets the join condition.
46     *
47     * @return JoinConditionInterface the join condition; non-null
48     */
49    public function getJoinCondition();
50}
51