. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Core\Htmlizer\Helper; class Result { /** * @var string|SafeString|null */ private $value = null; private function __construct() {} public static function createSafeString(string $value): self { $obj = new self(); $obj->value = new SafeString($value); return $obj; } public static function createEmpty(): self { $obj = new self(); $obj->value = ''; return $obj; } public static function create(string $value): self { $obj = new self(); $obj->value = $value; return $obj; } /** * @return SafeString|string */ public function getValue() { if ($this->value instanceof SafeString) { return $this->value; } return (string) $this->value; } }