Code Duplication    Length = 49-55 lines in 2 locations

Behavior/ConstraintsTrait.php 1 location

@@ 7-55 (lines=49) @@
4
5
use Symfony\Component\Validator\Constraint;
6
7
trait ConstraintsTrait
8
{
9
    use OptionAccessorsTrait;
10
11
    /**
12
     * @param array $constraints
13
     * @return $this
14
     * @link http://symfony.com/doc/current/reference/forms/types/form.html#constraints
15
     */
16
    public function setConstraints(array $constraints)
17
    {
18
        return $this->setOption('constraints', $constraints);
19
    }
20
21
    /**
22
     * @param Constraint $constraint
23
     * @return $this
24
     * @link http://symfony.com/doc/current/reference/forms/types/form.html#constraints
25
     */
26
    public function addConstraint(Constraint $constraint)
27
    {
28
        $constraints = $this->getConstraints();
29
        if (is_array($constraints) === false) {
30
            $constraints = array();
31
        }
32
        $constraints[] = $constraint;
33
        $this->setConstraints($constraints);
34
35
        return $this;
36
    }
37
38
    /**
39
     * @return array|string
40
     * @link http://symfony.com/doc/current/reference/forms/types/form.html#constraints
41
     */
42
    public function getConstraints()
43
    {
44
        return $this->getOption('constraints');
45
    }
46
47
    /**
48
     * @return $this
49
     * @link http://symfony.com/doc/current/reference/forms/types/form.html#constraints
50
     */
51
    public function removeConstraints()
52
    {
53
        return $this->removeOption('constraints');
54
    }
55
}
56

Behavior/ValidationGroupsTrait.php 1 location

@@ 5-59 (lines=55) @@
2
3
namespace steevanb\SymfonyFormOptionsBuilder\Behavior;
4
5
trait ValidationGroupsTrait
6
{
7
    use OptionAccessorsTrait;
8
9
    /**
10
     * @param null|false|array|\Closure $groups
11
     * @return $this
12
     * @link http://symfony.com/doc/current/reference/forms/types/submit.html#validation-groups
13
     */
14
    public function setValidationGroups($groups)
15
    {
16
        return $this->setOption('validation_groups', $groups);
17
    }
18
19
    /**
20
     * @param null|false|array|\Closure $group
21
     * @return $this
22
     */
23
    public function addValidationGroup($group)
24
    {
25
        $groups = $this->getValidationGroups();
26
        if (in_array($group, $groups) === false) {
27
            $groups[] = $group;
28
        }
29
30
        return $this->setValidationGroups($groups);
31
    }
32
33
    /**
34
     * @param string $group
35
     * @return bool
36
     * @link http://symfony.com/doc/current/reference/forms/types/submit.html#validation-groups
37
     */
38
    public function hasValidationGroup($group)
39
    {
40
        return in_array($group, $this->getValidationGroups());
41
    }
42
43
    /**
44
     * @return null|false|array|\Closure
45
     * @link http://symfony.com/doc/current/reference/forms/types/submit.html#validation-groups
46
     */
47
    public function getValidationGroups()
48
    {
49
        return $this->getOption('validation_groups');
50
    }
51
52
    /**
53
     * @return $this
54
     */
55
    public function removeValidationGroups()
56
    {
57
        return $this->removeOption('validation_groups');
58
    }
59
}
60