setFieldName($name); $this->initializeGrammar(); } /** * Get the type of Header that this instance represents. * @return int * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX * @see TYPE_DATE, TYPE_ID, TYPE_PATH */ public function getFieldType() { return self::TYPE_PATH; } /** * Set the model for the field body. * This method takes a string for an address. * @param string $model * @throws Swift_RfcComplianceException */ public function setFieldBodyModel($model) { $this->setAddress($model); } /** * Get the model for the field body. * This method returns a string email address. * @return mixed */ public function getFieldBodyModel() { return $this->getAddress(); } /** * Set the Address which should appear in this Header. * @param string $address * @throws Swift_RfcComplianceException */ public function setAddress($address) { if (is_null($address)) { $this->_address = null; } elseif ('' == $address || preg_match('/^' . $this->getGrammar('addr-spec') . '$/D', $address)) { $this->_address = $address; } else { throw new Swift_RfcComplianceException( 'Address set in PathHeader does not comply with addr-spec of RFC 2822.' ); } $this->setCachedValue(null); } /** * Get the address which is used in this Header (if any). * Null is returned if no address is set. * @return string */ public function getAddress() { return $this->_address; } /** * Get the string value of the body in this Header. * This is not necessarily RFC 2822 compliant since folding white space will * not be added at this stage (see {@link toString()} for that). * @return string * @see toString() */ public function getFieldBody() { if (!$this->getCachedValue()) { if (isset($this->_address)) { $this->setCachedValue('<' . $this->_address . '>'); } } return $this->getCachedValue(); } }