diff -r 000000000000 -r 7f95f8617b0b vendor/symfony/src/Symfony/Component/Security/Acl/Domain/RoleSecurityIdentity.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/symfony/src/Symfony/Component/Security/Acl/Domain/RoleSecurityIdentity.php Sat Sep 24 15:40:41 2011 +0200 @@ -0,0 +1,74 @@ + + * + * 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\SecurityIdentityInterface; +use Symfony\Component\Security\Core\Role\Role; + +/** + * A SecurityIdentity implementation for roles + * + * @author Johannes M. Schmitt + */ +final class RoleSecurityIdentity implements SecurityIdentityInterface +{ + private $role; + + /** + * Constructor + * + * @param mixed $role a Role instance, or its string representation + * @return void + */ + public function __construct($role) + { + if ($role instanceof Role) { + $role = $role->getRole(); + } + + $this->role = $role; + } + + /** + * Returns the role name + * + * @return string + */ + public function getRole() + { + return $this->role; + } + + /** + * {@inheritDoc} + */ + public function equals(SecurityIdentityInterface $sid) + { + if (!$sid instanceof RoleSecurityIdentity) { + return false; + } + + return $this->role === $sid->getRole(); + } + + /** + * Returns a textual representation of this security identity. + * + * This is solely used for debugging purposes, not to make an equality decision. + * + * @return string + */ + public function __toString() + { + return sprintf('RoleSecurityIdentity(%s)', $this->role); + } +}