package @modelPackage@;
import java.io.Serializable;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import org.hibernate.validator.NotNull;
import org.jboss.seam.annotations.security.management.RoleConditional;
import org.jboss.seam.annotations.security.management.RoleGroups;
import org.jboss.seam.annotations.security.management.RoleName;
@Entity
@Table(name = "user_role")
public class UserRole implements Serializable {
private static final long serialVersionUID = 9177366120789064801L;
private Long id;
private String name;
private boolean conditional;
private Set<UserRole> groups;
@Id
@GeneratedValue
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@RoleName
@NotNull
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@RoleGroups
@ManyToMany
@JoinTable(name = "user_role_group", joinColumns = @JoinColumn(name = "role_id"), inverseJoinColumns = @JoinColumn(name = "member_of_role"))
public Set<UserRole> getGroups() {
return groups;
}
public void setGroups(Set<UserRole> groups) {
this.groups = groups;
}
@RoleConditional
public boolean isConditional() {
return conditional;
}
public void setConditional(boolean conditional) {
this.conditional = conditional;
}
}