package pt.estgp.estgweb.domain;
import pt.estgp.estgweb.utils.RoleManager;
import pt.estgp.estgweb.Globals;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Set;
/**
* @author Jorge Machado
* @date 2/Mar/2008
* @time 10:27:25
* @see pt.estgp.estgweb.domain
*/
public class UserImpl
extends User
{
private boolean newUser =
false;
public UserImpl
()
{
}
public UserImpl
(5+0%2Fdocs%2Fapi+Date">Date saveDate,
boolean superuser,
1.5.0/docs/api/java/lang/String.html">String name,
1.5.0/docs/api/java/lang/String.html">String username,
1.5.0/docs/api/java/lang/String.html">String password,
1.5.0/docs/api/java/lang/String.html">String roles,
1.5.0/docs/api/java/lang/String.html">String address,
1.5.0/docs/api/java/lang/String.html">String zip,
1.5.0/docs/api/java/lang/String.html">String country,
1.5.0/docs/api/java/lang/String.html">String email,
1.5.0/docs/api/java/lang/String.html">String outEmail,
1.5.0/docs/api/java/lang/String.html">String phonenumber,
1.5.0/docs/api/java/lang/String.html">String sex,
1.5.0/docs/api/java/lang/String.html">String bi,
5+0%2Fdocs%2Fapi+Date">Date birthDate, Set
<Group
> groups, Set
<CourseUserAssociation
> courses
)
{
super(saveDate, superuser, name, username, password, roles, address, zip, country, email, outEmail, phonenumber, sex, bi, birthDate, groups, courses
);
}
public boolean isNewUser
()
{
return newUser
;
}
public void setNewUser
(boolean newUser
)
{
this.
newUser = newUser
;
}
/**
* check if user is in some group
*
* @param g to check
* @return true if belongs to group
*/
public boolean hasGroup
(1.5.0/docs/api/java/security/acl/Group.html">Group g
)
{
if (getGroups
() ==
null)
return false;
for (1.5.0/docs/api/java/security/acl/Group.html">Group group : getGroups
())
{
if (group.
getId() == g.
getId())
return true;
}
return false;
}
public void addRole
(1.5.0/docs/api/java/lang/String.html">String role
)
{
setRoles
(RoleManager.
catRole(getRoles
(), role
));
}
public boolean hasRole
(1.5.0/docs/api/java/lang/String.html">String r
)
{
if (r ==
null || getRoles
() ==
null || getRoles
().
length() == 0
)
return false;
for (1.5.0/docs/api/java/lang/String.html">String role : RoleManager.
getRolesFromSerial(getRoles
()))
{
if (role.
equals(r
))
return true;
}
return false;
}
/**
* @return a list of role Strings
*/
public List
<String
> getOwnerRoles
()
{
return getRolesList
();
}
public List
<String
> getRolesList
()
{
return RoleManager.
getRolesFromSerial(getRoles
());
}
public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable
()
{
return getId
();
}
public User getOwner
()
{
return this;
}
public boolean isSuperUser
()
{
return super.
isSuperuser() || hasRole
(Globals.
SUPER_USER_ROLE);
}
public boolean isAdmin
()
{
return hasRole
(Globals.
ADMIN_ROLE);
}
public boolean isSuperUserOrAdmin
()
{
return isSuperUser
() || isAdmin
();
}
}