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: 149: 150:
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2015 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\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 = []);
/**
* 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 = []);
/**
* Checks if this fieldset can bind data
*
* @return bool
*/
public function allowValueBinding();
}