Completed
Push — api_content_name_shorthand ( 2afcd8...929e38 )
by André
13:59
created

UserGroup::getName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 4
Ratio 100 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 4
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * File containing the UserGroup class.
5
 *
6
 * @copyright Copyright (C) eZ Systems AS. All rights reserved.
7
 * @license For full copyright and license information view LICENSE file distributed with this source code.
8
 */
9
10
namespace eZ\Publish\Core\REST\Client\Values\User;
11
12
use eZ\Publish\API\Repository\Values\User\UserGroup as APIUserGroup;
13
14
/**
15
 * Implementation of the {@link \eZ\Publish\API\Repository\Values\User\UserGroup}
16
 * class.
17
 *
18
 * @see \eZ\Publish\API\Repository\Values\User\UserGroup
19
 */
20 View Code Duplication
class UserGroup extends APIUserGroup
0 ignored issues
show
Duplication introduced by
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
21
{
22
    /**
23
     * @var \eZ\Publish\API\Repository\Values\Content\Content
24
     */
25
    protected $content;
26
27
    /**
28
     * Returns the VersionInfo for this version.
29
     *
30
     * @return \eZ\Publish\API\Repository\Values\Content\VersionInfo
31
     */
32
    public function getVersionInfo()
33
    {
34
        return $this->content->getVersionInfo();
35
    }
36
37
    /**
38
     * {@inheritdoc}
39
     */
40
    public function getName($languageCode = null)
41
    {
42
        return $this->content->getVersionInfo()->getName($languageCode);
43
    }
44
45
    /**
46
     * Returns a field value for the given value
47
     * $version->fields[$fieldDefId][$languageCode] is an equivalent call
48
     * if no language is given on a translatable field this method returns
49
     * the value of the initial language of the version if present, otherwise null.
50
     * On non translatable fields this method ignores the languageCode parameter.
51
     *
52
     * @param string $fieldDefIdentifier
53
     * @param string $languageCode
54
     *
55
     * @return mixed a primitive type or a field type Value object depending on the field type.
56
     */
57
    public function getFieldValue($fieldDefIdentifier, $languageCode = null)
58
    {
59
        return $this->content->getFieldValue($fieldDefIdentifier, $languageCode);
60
    }
61
62
    /**
63
     * This method returns the complete fields collection.
64
     *
65
     * @return \eZ\Publish\API\Repository\Values\Content\Field[]
66
     */
67
    public function getFields()
68
    {
69
        return $this->content->getFields();
70
    }
71
72
    /**
73
     * This method returns the fields for a given language and non translatable fields.
74
     *
75
     * If note set the initialLanguage of the content version is used.
76
     *
77
     * @param string $languageCode
78
     *
79
     * @return \eZ\Publish\API\Repository\Values\Content\Field[] With field identifier as keys
80
     */
81
    public function getFieldsByLanguage($languageCode = null)
82
    {
83
        return $this->content->getFieldsByLanguage($languageCode);
84
    }
85
86
    /**
87
     * This method returns the field for a given field definition identifier and language.
88
     *
89
     * If not set the initialLanguage of the content version is used.
90
     *
91
     * @param string $fieldDefIdentifier
92
     * @param string|null $languageCode
93
     *
94
     * @return \eZ\Publish\API\Repository\Values\Content\Field|null A {@link Field} or null if nothing is found
95
     */
96
    public function getField($fieldDefIdentifier, $languageCode = null)
97
    {
98
        return $this->content->getField($fieldDefIdentifier, $languageCode);
99
    }
100
101
    public function __get($property)
102
    {
103
        switch ($property) {
104
            case 'contentInfo':
105
                return $this->content->contentInfo;
106
107
            case 'id':
108
                return $this->content->id;
109
110
            case 'versionInfo':
111
                return $this->getVersionInfo();
112
113
            case 'fields':
114
                return $this->getFields();
115
        }
116
117
        return parent::__get($property);
118
    }
119
}
120