diff -r 000000000000 -r 7f95f8617b0b vendor/symfony/src/Symfony/Component/Security/Acl/Domain/FieldEntry.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/symfony/src/Symfony/Component/Security/Acl/Domain/FieldEntry.php Sat Sep 24 15:40:41 2011 +0200 @@ -0,0 +1,75 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Security\Acl\Domain; + +use Symfony\Component\Security\Acl\Model\AclInterface; +use Symfony\Component\Security\Acl\Model\FieldEntryInterface; +use Symfony\Component\Security\Acl\Model\SecurityIdentityInterface; + +/** + * Field-aware ACE implementation which is auditable + * + * @author Johannes M. Schmitt + */ +class FieldEntry extends Entry implements FieldEntryInterface +{ + private $field; + + /** + * Constructor + * + * @param integer $id + * @param AclInterface $acl + * @param string $field + * @param SecurityIdentityInterface $sid + * @param string $strategy + * @param integer $mask + * @param Boolean $granting + * @param Boolean $auditFailure + * @param Boolean $auditSuccess + * @return void + */ + public function __construct($id, AclInterface $acl, $field, SecurityIdentityInterface $sid, $strategy, $mask, $granting, $auditFailure, $auditSuccess) + { + parent::__construct($id, $acl, $sid, $strategy, $mask, $granting, $auditFailure, $auditSuccess); + + $this->field = $field; + } + + /** + * {@inheritDoc} + */ + public function getField() + { + return $this->field; + } + + /** + * {@inheritDoc} + */ + public function serialize() + { + return serialize(array( + $this->field, + parent::serialize(), + )); + } + + /** + * {@inheritDoc} + */ + public function unserialize($serialized) + { + list($this->field, $parentStr) = unserialize($serialized); + parent::unserialize($parentStr); + } +}