summaryrefslogtreecommitdiffstats
path: root/Encoder/EncoderFactory.php
diff options
context:
space:
mode:
authorJohannes M. Schmitt <schmittjoh@gmail.com>2011-01-26 21:34:11 +0100
committerFabien Potencier <fabien.potencier@gmail.com>2011-01-26 22:23:20 +0100
commitbebc09870cb0a7720e2c6a8c5c74585e69e8bb24 (patch)
tree0c399647cdbe504be405017e7cc04c70c53482f2 /Encoder/EncoderFactory.php
parentc85f3d708d2c9b00d73ca1234ccfaf50336d94b1 (diff)
downloadsymfony-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.php77
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