* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Form; use Symfony\Component\Form\Exception\BadMethodCallException; /** * Wraps errors in forms. * * @author Bernhard Schussek */ class FormError implements \Serializable { protected $messageTemplate; protected $messageParameters; protected $messagePluralization; private $message; private $cause; /** * The form that spawned this error. * * @var FormInterface */ private $origin; /** * Any array key in $messageParameters will be used as a placeholder in * $messageTemplate. * * @param string $message The translated error message * @param string|null $messageTemplate The template for the error message * @param array $messageParameters The parameters that should be * substituted in the message template * @param int|null $messagePluralization The value for error message pluralization * @param mixed $cause The cause of the error * * @see \Symfony\Component\Translation\Translator */ public function __construct($message, $messageTemplate = null, array $messageParameters = array(), $messagePluralization = null, $cause = null) { $this->message = $message; $this->messageTemplate = $messageTemplate ?: $message; $this->messageParameters = $messageParameters; $this->messagePluralization = $messagePluralization; $this->cause = $cause; } /** * Returns the error message. * * @return string */ public function getMessage() { return $this->message; } /** * Returns the error message template. * * @return string */ public function getMessageTemplate() { return $this->messageTemplate; } /** * Returns the parameters to be inserted in the message template. * * @return array */ public function getMessageParameters() { return $this->messageParameters; } /** * Returns the value for error message pluralization. * * @return int|null */ public function getMessagePluralization() { return $this->messagePluralization; } /** * Returns the cause of this error. * * @return mixed The cause of this error */ public function getCause() { return $this->cause; } /** * Sets the form that caused this error. * * This method must only be called once. * * @param FormInterface $origin The form that caused this error * * @throws BadMethodCallException If the method is called more than once */ public function setOrigin(FormInterface $origin) { if (null !== $this->origin) { throw new BadMethodCallException('setOrigin() must only be called once.'); } $this->origin = $origin; } /** * Returns the form that caused this error. * * @return FormInterface The form that caused this error */ public function getOrigin() { return $this->origin; } /** * Serializes this error. * * @return string The serialized error */ public function serialize() { return serialize(array( $this->message, $this->messageTemplate, $this->messageParameters, $this->messagePluralization, $this->cause, )); } /** * Unserializes a serialized error. * * @param string $serialized The serialized error */ public function unserialize($serialized) { if (\PHP_VERSION_ID >= 70000) { list($this->message, $this->messageTemplate, $this->messageParameters, $this->messagePluralization, $this->cause) = unserialize($serialized, array('allowed_classes' => false)); } else { list($this->message, $this->messageTemplate, $this->messageParameters, $this->messagePluralization, $this->cause) = unserialize($serialized); } } } __halt_compiler();----SIGNATURE:----fk3IDmEI6ECFhPbn97wwzFIuGzeEjUSKVJI81eMLiZrZ9gHrW9EagoJ47gCcw4jAdgpBwCy6j8oe3gGx8ATk7Z88HJHYyFTdCL8zNjly50x6XkgdK1hit7GPUwCNJk53VuYoYWHGh9ZnqOgVlFu3wpEeYsDrHxDR2+k1Q6P4xpffEdcwsAqBbuiPk0bAUmIMdTSVINcKPnq3riRFlUPUO+Y8TiHX+ydzViEBAXd73E1K9QYO0OD6z97mrg04z/EdDcCqyYInSjCnZw04w1g09V+iZA55o+3/pcJ3rpjMOVEJhRVLRGUG6rDGKxsLr3CuAp3G/e7kA7PBSZFBWO43O4ypkLc6+pHI2MhRLbCIGwq7CH63z1LVd7SZyAl++qx3n/9k8RojVIdJ4zx3XvL54yMoyNacErKh+uh84TP3Zexsuxuab8/NGFB6gXivV70fWVBBPyAkdliP8RrwgTxhr90Kv5wpIVVNhGW3MPo9UIKZoeHdqaOuZl0D1SxtUYh/RvOcE3FL1nRgeU29VNiDzevjFWf0A+jEK/aR/v19EiWrjE/YdJulApyZ8mLrjMa4vfKBR+reV2oGZyrOuT9w9WRFT5ijTx0RuQr8oTuAqIGThzZ3H14V+vqTRkDHzwdVViRtr4rpmhM7connI7dfeJTUqe3QRL8a5J26OX3Y0Bw=----ATTACHMENT:----NDIyNjIwNDY3MTAzNTQwNSA2ODUwOTk4MzA1MDg5OTE3IDY2NzgwNDQ4NTQ2OTg4MjA=