Completed
Pull Request — develop (#284)
by
unknown
09:13
created

AbstractPaginationQuery::getPropertiesMap()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
/**
3
 * YAWIK
4
 *
5
 * @filesource
6
 * @copyright (c) 2013 - 2016 Cross Solution (http://cross-solution.de)
7
 * @license   MIT
8
 */
9
10
namespace Solr\Filter;
11
12
use SolrDisMaxQuery;
13
use ArrayAccess;
14
use Zend\Filter\FilterInterface;
15
use Solr\Facets;
16
use DomainException;
17
18
/**
19
 * Class AbstractPaginationQuery
20
 *
21
 * @author Anthonius Munthi <[email protected]>
22
 * @author Miroslav Fedeleš <[email protected]>
23
 * @since 0.26
24
 * @package Solr\Filter
25
 */
26
abstract class AbstractPaginationQuery implements FilterInterface
27
{
28
29
    /**
30
     * Filter query based on given value
31
     *
32
     * @see \Zend\Filter\FilterInterface::filter()
33
     */
34
    public function filter($value, SolrDisMaxQuery $query = null, Facets $facets = null)
35
    {
36
        if (null === $query) {
37
            throw new DomainException('$query must not be null');
38
        }
39
        
40
        if (null === $facets) {
41
            throw new DomainException('$facets must not be null');
42
        }
43
        
44
        $this->createQuery($value, $query, $facets);
45
    }
46
47
    /**
48
     * @param mixed $entity
49
     * @param ArrayAccess $solrResult
50
     * @return mixed Instance of proxy
51
     */
52
    abstract public function proxyFactory($entity, ArrayAccess $solrResult);
53
54
    /**
55
     * Get repository to be used for result
56
     *
57
     * @return string
58
     */
59
    abstract public function getRepositoryName();
60
61
    /**
62
     * @param array $params
63
     * @param SolrDisMaxQuery $query
64
     * @param Facets $facets
65
     */
66
    abstract public function createQuery(array $params, SolrDisMaxQuery $query, Facets $facets);
67
}