vendor/bundles/FOS/UserBundle/Model/UserManagerInterface.php
changeset 3 e54dfe4d0b2b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/bundles/FOS/UserBundle/Model/UserManagerInterface.php	Fri Sep 30 11:24:53 2011 +0200
@@ -0,0 +1,135 @@
+<?php
+
+/*
+ * This file is part of the FOSUserBundle package.
+ *
+ * (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace FOS\UserBundle\Model;
+
+use Symfony\Component\Validator\Constraint;
+
+/**
+ * Interface to be implemented by user managers. This adds an additional level
+ * of abstraction between your application, and the actual repository.
+ *
+ * All changes to users should happen through this interface.
+ *
+ * The class also contains ACL annotations which will only work if you have the
+ * SecurityExtraBundle installed, otherwise they will simply be ignored.
+ *
+ * @author Gordon Franke <info@nevalon.de>
+ * @author Thibault Duplessis <thibault.duplessis@gmail.com>
+ * @author Johannes M. Schmitt <schmittjoh@gmail.com>
+ */
+interface UserManagerInterface
+{
+    /**
+     * Creates an empty user instance.
+     *
+     * @return UserInterface
+     */
+    function createUser();
+
+    /**
+     * Deletes a user.
+     *
+     * @param UserInterface $user
+     */
+    function deleteUser(UserInterface $user);
+
+    /**
+     * Finds one user by the given criteria.
+     *
+     * @param array $criteria
+     * @return UserInterface
+     */
+    function findUserBy(array $criteria);
+
+    /**
+     * Find a user by its username.
+     *
+     * @param string  $username
+     * @return UserInterface or null if user does not exist
+     */
+    function findUserByUsername($username);
+
+    /**
+     * Finds a user by its email.
+     *
+     * @param string  $email
+     * @return UserInterface or null if user does not exist
+     */
+    function findUserByEmail($email);
+
+    /**
+     * Finds a user by its username or email.
+     *
+     * @param string  $usernameOrEmail
+     * @return UserInterface or null if user does not exist
+     */
+    function findUserByUsernameOrEmail($usernameOrEmail);
+
+    /**
+     * Finds a user by its confirmationToken.
+     *
+     * @param string  $token
+     * @return UserInterface or null if user does not exist
+     */
+    function findUserByConfirmationToken($token);
+
+    /**
+     * Returns a collection with all user instances.
+     *
+     * @return \Traversable
+     */
+    function findUsers();
+
+    /**
+     * Returns the user's fully qualified class name.
+     *
+     * @return string
+     */
+    function getClass();
+
+    /**
+     * Reloads a user.
+     *
+     * @param UserInterface $user
+     */
+    function reloadUser(UserInterface $user);
+
+    /**
+     * Updates a user.
+     *
+     * @param UserInterface $user
+     */
+    function updateUser(UserInterface $user);
+
+    /**
+     * Updates the canonical username and email fields for a user.
+     *
+     * @param UserInterface $user
+     */
+    function updateCanonicalFields(UserInterface $user);
+
+    /**
+     * Updates a user password if a plain password is set.
+     *
+     * @param UserInterface $user
+     */
+    function updatePassword(UserInterface $user);
+
+    /**
+     * Checks the uniqueness of the given fields, returns true if its unique.
+     *
+     * @param UserInterface $value
+     * @param Constraint $constraint
+     * @return Boolean
+     */
+    function validateUnique(UserInterface $value, Constraint $constraint);
+}