3 * Zend Framework (http://framework.zend.com/)
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
6 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
7 * @license http://framework.zend.com/license/new-bsd New BSD License
12 interface LabelAwareInterface
15 * Set the label (if any) used for this element
18 * @return ElementInterface
20 public function setLabel($label);
23 * Retrieve the label (if any) used for this element
27 public function getLabel();
30 * Set the attributes to use with the label
32 * @param array $labelAttributes
35 public function setLabelAttributes(array $labelAttributes);
38 * Get the attributes to use with the label
42 public function getLabelAttributes();
45 * Set many label options at once
47 * Implementation will decide if this will overwrite or merge.
49 * @param array|\Traversable $arrayOrTraversable
52 public function setLabelOptions($arrayOrTraversable);
55 * Get label specific options
59 public function getLabelOptions();
62 * Set a single label optionn
66 * @return Element|ElementInterface
68 public function setLabelOption($key, $value);
71 * Retrieve a single label option
76 public function getLabelOption($key);
79 * Remove a single label option
82 * @return ElementInterface
84 public function removeLabelOption($key);
87 * Does the element has a specific label option ?
92 public function hasLabelOption($key);
95 * Remove many attributes at once
98 * @return ElementInterface
100 public function removeLabelOptions(array $keys);
103 * Clear all label options
105 * @return Element|ElementInterface
107 public function clearLabelOptions();