package org.xmx0632.deliciousfruit.entity;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import com.google.common.collect.ImmutableList;
/**
* 角色.
*
* @author calvin
*/
@Entity
@Table(name = "df_role")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Role extends IdEntity {
private String name;
private String permissions;
public Role() {
}
public Role(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPermissions() {
return permissions;
}
public void setPermissions(String permissions) {
this.permissions = permissions;
}
@Transient
public List<String> getPermissionList() {
return ImmutableList.copyOf(StringUtils.split(permissions, ","));
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}