TranslateResponse::setLanguageFrom()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace GinoPane\PHPolyglot\API\Response\Translate;
4
5
use GinoPane\PHPolyglot\API\Response\ApiResponseAbstract;
6
7
/**
8
 * Class TranslateResponse
9
 *
10
 * @author Sergey <Gino Pane> Karavay
11
 */
12
class TranslateResponse extends ApiResponseAbstract
13
{
14
    /**
15
     * @var string
16
     */
17
    private $languageFrom = '';
18
19
    /**
20
     * @var string
21
     */
22
    private $languageTo = '';
23
24
    /**
25
     * Returns an array of translations
26
     *
27
     * @return string[]
28
     */
29
    public function getTranslations(): array
30
    {
31
        return array_values((array)$this->getData());
32
    }
33
34
    /**
35
     * Sets an array of translations
36
     *
37
     * @param string[] $translations
38
     */
39
    public function setTranslations(array $translations): void
40
    {
41
        $this->setData($translations);
42
    }
43
44
    /**
45
     * Returns source language string
46
     *
47
     * @return string
48
     */
49
    public function getLanguageFrom(): string
50
    {
51
        return $this->languageFrom;
52
    }
53
54
    /**
55
     * Sets source language string
56
     *
57
     * @param string $languageFrom
58
     */
59
    public function setLanguageFrom(string $languageFrom): void
60
    {
61
        $this->languageFrom = $languageFrom;
62
    }
63
64
    /**
65
     * Returns target language string
66
     *
67
     * @return string
68
     */
69
    public function getLanguageTo(): string
70
    {
71
        return $this->languageTo;
72
    }
73
74
    /**
75
     * Sets target language string
76
     *
77
     * @param string $languageTo
78
     */
79
    public function setLanguageTo(string $languageTo): void
80
    {
81
        $this->languageTo = $languageTo;
82
    }
83
84
    /**
85
     * Returns string representation of translation.
86
     * Please note that for bulk response it will return imploded translations divided by newlines
87
     *
88
     * @return string
89
     */
90
    public function __toString(): string
91
    {
92
        $translations = $this->getTranslations();
93
94
        if (count($translations) == 1) {
95
            return $translations[0];
96
        } else {
97
            return implode(PHP_EOL, $translations);
98
        }
99
    }
100
}
101