Completed
Pull Request — develop (#284)
by
unknown
15:43
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
16
/**
17
 * Class AbstractPaginationQuery
18
 *
19
 * @author Anthonius Munthi <[email protected]>
20
 * @author Miroslav Fedeleš <[email protected]>
21
 * @since 0.26
22
 * @package Solr\Filter
23
 */
24
abstract class AbstractPaginationQuery implements FilterInterface
25
{
26
27
    /**
28
     * Filter query based on given value
29
     *
30
     * @param mixed $value
31
     * @return SolrDisMaxQuery
32
     */
33
    public function filter($value)
34
    {
35
        return $this->createQuery($value, new SolrDisMaxQuery());
36
    }
37
38
    /**
39
     * @param mixed $entity
40
     * @param ArrayAccess $solrResult
41
     * @return mixed Instance of proxy
42
     */
43
    abstract public function proxyFactory($entity, ArrayAccess $solrResult);
44
45
    /**
46
     * Get repository to be used for result
47
     *
48
     * @return string
49
     */
50
    abstract public function getRepositoryName();
51
52
    /**
53
     * @param   array $params
54
     * @param   SolrDisMaxQuery $query
55
     * @return  SolrDisMaxQuery
56
     */
57
    abstract public function createQuery(array $params, SolrDisMaxQuery $query);
58
}