vendor/bundles/FOS/UserBundle/Model/UserInterface.php
changeset 3 e54dfe4d0b2b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/bundles/FOS/UserBundle/Model/UserInterface.php	Fri Sep 30 11:24:53 2011 +0200
@@ -0,0 +1,218 @@
+<?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\Security\Core\User\AdvancedUserInterface;
+
+/**
+ * @author Thibault Duplessis <thibault.duplessis@gmail.com>
+ * @author Johannes M. Schmitt <schmittjoh@gmail.com>
+ */
+interface UserInterface extends AdvancedUserInterface, \Serializable
+{
+    /**
+     * Gets the algorithm used to encode the password.
+     *
+     * @return string
+     */
+    function getAlgorithm();
+
+    /**
+     * Sets the algorithm
+     *
+     * @param string $algorithm
+     */
+    function setAlgorithm($algorithm);
+
+    /**
+     * Sets the username.
+     *
+     * @param string $username
+     */
+    function setUsername($username);
+
+    /**
+     * Gets the canonical username in search and sort queries.
+     *
+     * @return string
+     */
+    function getUsernameCanonical();
+
+    /**
+     * Sets the canonical username.
+     *
+     * @param string $usernameCanonical
+     */
+    function setUsernameCanonical($usernameCanonical);
+
+    /**
+     * Gets email.
+     *
+     * @return string
+     */
+    function getEmail();
+
+    /**
+     * Sets the email.
+     *
+     * @param string $email
+     */
+    function setEmail($email);
+
+    /**
+     * Gets the canonical email in search and sort queries.
+     *
+     * @return string
+     */
+    function getEmailCanonical();
+
+    /**
+     * Set the canonical email.
+     *
+     * @param string $emailCanonical
+     */
+    function setEmailCanonical($emailCanonical);
+
+    /**
+     * Gets the plain password.
+     *
+     * @return string
+     */
+    function getPlainPassword();
+
+    /**
+     * Sets the plain password.
+     *
+     * @param string $password
+     */
+    function setPlainPassword($password);
+
+    /**
+     * Sets the hashed password.
+     *
+     * @param string $password
+     */
+    function setPassword($password);
+
+    /**
+     * Tells if the the given user has the super admin role.
+     *
+     * @return Boolean
+     */
+    function isSuperAdmin();
+
+    /**
+     * Tells if the the given user is this user.
+     *
+     * Useful when not hydrating all fields.
+     *
+     * @param UserInterface $user
+     * @return Boolean
+     */
+    function isUser(UserInterface $user = null);
+
+    /**
+     * @param Boolean $boolean
+     */
+    function setEnabled($boolean);
+
+    /**
+     * Sets the locking status of the user.
+     *
+     * @param Boolean $boolean
+     */
+    function setLocked($boolean);
+
+    /**
+     * Sets the super admin status
+     *
+     * @param Boolean $boolean
+     */
+    function setSuperAdmin($boolean);
+
+    /**
+     * Generates the confirmation token if it is not set.
+     */
+    function generateConfirmationToken();
+
+    /**
+     * Gets the confirmation token.
+     *
+     * @return string
+     */
+    function getConfirmationToken();
+
+    /**
+     * Sets the confirmation token
+     *
+     * @param string $confirmationToken
+     */
+    function setConfirmationToken($confirmationToken);
+
+    /**
+     * Sets the timestamp that the user requested a password reset.
+     *
+     * @param \DateTime $date
+     */
+    function setPasswordRequestedAt(\DateTime $date);
+
+    /**
+     * Checks whether the password reset request has expired.
+     *
+     * @param integer $ttl Requests older than this many seconds will be considered expired
+     * @return Boolean true if the user's password request is non expired, false otherwise
+     */
+    function isPasswordRequestNonExpired($ttl);
+
+    /**
+     * Sets the last login time
+     *
+     * @param \DateTime $time
+     */
+    function setLastLogin(\DateTime $time);
+
+    /**
+     * Never use this to check if this user has access to anything!
+     *
+     * Use the SecurityContext, or an implementation of AccessDecisionManager
+     * instead, e.g.
+     *
+     *         $securityContext->isGranted('ROLE_USER');
+     *
+     * @param string $role
+     * @return Boolean
+     */
+    function hasRole($role);
+
+    /**
+     * Sets the roles of the user.
+     *
+     * This overwrites any previous roles.
+     *
+     * @param array $roles
+     */
+    function setRoles(array $roles);
+
+    /**
+     * Adds a role to the user.
+     *
+     * @param string $role
+     */
+    function addRole($role);
+
+    /**
+     * Removes a role to the user.
+     *
+     * @param string $role
+     */
+    function removeRole($role);
+}