
jpaoletti.jpm.hibernate.security.SECUserGroup Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jpm-hibernate Show documentation
Show all versions of jpm-hibernate Show documentation
Hibernate implementation of jpm data access.
The newest version!
package jpaoletti.jpm.hibernate.security;
import java.io.Serializable;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.Set;
import javax.persistence.*;
import org.hibernate.annotations.Type;
@Entity
@Table(name = "sec_groups")
public class SECUserGroup implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(unique = true)
private String name;
private String description;
@Temporal(javax.persistence.TemporalType.DATE)
private Date creation;
@Type(type = "yes_no")
private boolean active;
@ManyToMany
@JoinTable(name = "sec_group_perms", joinColumns =
@JoinColumn(name = "sec_group"), inverseJoinColumns =
@JoinColumn(name = "sec_perm"))
private Set permissions;
@Override
public String toString() {
return name;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final SECUserGroup other = (SECUserGroup) obj;
if (this.id != other.id) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 3;
hash = 97 * hash + (int) (this.id ^ (this.id >>> 32));
return hash;
}
public SECUserGroup() {
super();
permissions = new LinkedHashSet();
}
public SECPermission getPermission(String name) {
for (SECPermission p : getPermissions()) {
if (name != null && p != null && name.compareTo(p.getName()) == 0) {
return p;
}
}
return null;
}
public boolean hasPermission(String permName) {
return getPermission(permName) != null;
}
public void grant(SECPermission perm) {
getPermissions().add(perm);
}
public void revoke(String perm) {
getPermissions().remove(getPermission(perm));
}
public void revokeAll() {
getPermissions().clear();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public Date getCreation() {
return creation;
}
public void setCreation(Date creation) {
this.creation = creation;
}
public Set getPermissions() {
return permissions;
}
public void setPermissions(Set permissions) {
this.permissions = permissions;
}
public void setActive(boolean active) {
this.active = active;
}
public boolean isActive() {
return active;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy