diff options
author | Johannes M. Schmitt <schmittjoh@gmail.com> | 2011-01-26 21:34:11 +0100 |
---|---|---|
committer | Fabien Potencier <fabien.potencier@gmail.com> | 2011-01-26 22:23:20 +0100 |
commit | bebc09870cb0a7720e2c6a8c5c74585e69e8bb24 (patch) | |
tree | 0c399647cdbe504be405017e7cc04c70c53482f2 /Encoder/EncoderFactory.php | |
parent | c85f3d708d2c9b00d73ca1234ccfaf50336d94b1 (diff) | |
download | symfony-security-bebc09870cb0a7720e2c6a8c5c74585e69e8bb24.zip symfony-security-bebc09870cb0a7720e2c6a8c5c74585e69e8bb24.tar.gz symfony-security-bebc09870cb0a7720e2c6a8c5c74585e69e8bb24.tar.bz2 |
namespace changes
Symfony\Component\Security -> Symfony\Component\Security\Core
Symfony\Component\Security\Acl remains unchanged
Symfony\Component\HttpKernel\Security -> Symfony\Component\Security\Http
Diffstat (limited to 'Encoder/EncoderFactory.php')
-rw-r--r-- | Encoder/EncoderFactory.php | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/Encoder/EncoderFactory.php b/Encoder/EncoderFactory.php deleted file mode 100644 index ae33fee..0000000 --- a/Encoder/EncoderFactory.php +++ /dev/null @@ -1,77 +0,0 @@ -<?php - -/* - * This file is part of the Symfony package. - * - * (c) Fabien Potencier <fabien.potencier@symfony-project.com> - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Security\Encoder; - -use Symfony\Component\Security\User\AccountInterface; - -/** - * A generic encoder factory implementation - * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class EncoderFactory implements EncoderFactoryInterface -{ - protected $encoders; - protected $encoderMap; - - public function __construct(array $encoderMap) - { - $this->encoders = array(); - $this->encoderMap = $encoderMap; - } - - /** - * {@inheritDoc} - */ - public function getEncoder(AccountInterface $account) - { - foreach ($this->encoders as $class => $encoder) { - if ($account instanceof $class) { - return $encoder; - } - } - - return $this->createEncoder($account); - } - - /** - * Adds an encoder instance to the factory - * - * @param string $class - * @param PasswordEncoderInterface $encoder - * @return void - */ - public function addEncoder($class, PasswordEncoderInterface $encoder) - { - $this->encoders[$class] = $encoder; - } - - /** - * Creates the actual encoder instance - * - * @param AccountInterface $account - * @return PasswordEncoderInterface - */ - protected function createEncoder($account) - { - foreach ($this->encoderMap as $class => $config) { - if ($account instanceof $class) { - $reflection = new \ReflectionClass($config['class']); - $this->encoders[$class] = $reflection->newInstanceArgs($config['arguments']); - - return $this->encoders[$class]; - } - } - - throw new \InvalidArgumentException(sprintf('No encoder has been configured for account "%s".', get_class($account))); - } -}
\ No newline at end of file |