--- /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 @@
+<?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;
+
+/**
+ * @author Johannes M. Schmitt <schmittjoh@gmail.com>
+ */
+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