diff -r 806e57d67020 -r e54dfe4d0b2b vendor/bundles/FOS/UserBundle/Model/Group.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/bundles/FOS/UserBundle/Model/Group.php Fri Sep 30 11:24:53 2011 +0200 @@ -0,0 +1,73 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace FOS\UserBundle\Model; + +/** + * @author Johannes M. Schmitt + */ +abstract class Group implements GroupInterface +{ + protected $id; + protected $name; + protected $roles; + + public function __construct($name, $roles = array()) + { + $this->name = $name; + $this->roles = $roles; + } + + public function addRole($role) + { + if (!$this->hasRole($role)) { + $this->roles[] = strtoupper($role); + } + } + + public function getId() + { + return $this->id; + } + + public function getName() + { + return $this->name; + } + + public function hasRole($role) + { + return in_array(strtoupper($role), $this->roles, true); + } + + public function getRoles() + { + return $this->roles; + } + + public function removeRole($role) + { + if (false !== $key = array_search(strtoupper($role), $this->roles, true)) { + unset($this->roles[$key]); + $this->roles = array_values($this->roles); + } + } + + public function setName($name) + { + $this->name = $name; + } + + public function setRoles(array $roles) + { + $this->roles = $roles; + } +} \ No newline at end of file