-
Notifications
You must be signed in to change notification settings - Fork 0
/
FieldsetInterface.php
148 lines (131 loc) · 3.75 KB
/
FieldsetInterface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace Zend\Form;
use Countable;
use IteratorAggregate;
use Zend\Stdlib\Hydrator\HydratorInterface;
interface FieldsetInterface extends
Countable,
IteratorAggregate,
ElementInterface,
ElementPrepareAwareInterface,
FormFactoryAwareInterface
{
/**
* Add an element or fieldset
*
* $flags could contain metadata such as the alias under which to register
* the element or fieldset, order in which to prioritize it, etc.
*
* @param array|\Traversable|ElementInterface $elementOrFieldset Typically, only allow objects implementing ElementInterface;
* however, keeping it flexible to allow a factory-based form
* implementation as well
* @param array $flags
* @return FieldsetInterface
*/
public function add($elementOrFieldset, array $flags = array());
/**
* Does the fieldset have an element/fieldset by the given name?
*
* @param string $elementOrFieldset
* @return bool
*/
public function has($elementOrFieldset);
/**
* Retrieve a named element or fieldset
*
* @param string $elementOrFieldset
* @return ElementInterface
*/
public function get($elementOrFieldset);
/**
* Remove a named element or fieldset
*
* @param string $elementOrFieldset
* @return FieldsetInterface
*/
public function remove($elementOrFieldset);
/**
* Set/change the priority of an element or fieldset
*
* @param string $elementOrFieldset
* @param int $priority
* @return FieldsetInterface
*/
public function setPriority($elementOrFieldset, $priority);
/**
* Retrieve all attached elements
*
* Storage is an implementation detail of the concrete class.
*
* @return array|\Traversable
*/
public function getElements();
/**
* Retrieve all attached fieldsets
*
* Storage is an implementation detail of the concrete class.
*
* @return array|\Traversable
*/
public function getFieldsets();
/**
* Recursively populate value attributes of elements
*
* @param array|\Traversable $data
* @return void
*/
public function populateValues($data);
/**
* Set the object used by the hydrator
*
* @param $object
* @return FieldsetInterface
*/
public function setObject($object);
/**
* Get the object used by the hydrator
*
* @return mixed
*/
public function getObject();
/**
* Checks if the object can be set in this fieldset
*
* @param $object
* @return bool
*/
public function allowObjectBinding($object);
/**
* Set the hydrator to use when binding an object to the element
*
* @param HydratorInterface $hydrator
* @return FieldsetInterface
*/
public function setHydrator(HydratorInterface $hydrator);
/**
* Get the hydrator used when binding an object to the element
*
* @return null|HydratorInterface
*/
public function getHydrator();
/**
* Bind values to the bound object
*
* @param array $values
* @return mixed
*/
public function bindValues(array $values = array());
/**
* Checks if this fieldset can bind data
*
* @return bool
*/
public function allowValueBinding();
}