001 package org.sonar.api.security; 002 003 import org.sonar.api.database.BaseIdentifiable; 004 005 import javax.persistence.Column; 006 import javax.persistence.Entity; 007 import javax.persistence.Table; 008 009 /** 010 * @since 1.12 011 */ 012 @Entity 013 @Table(name = "group_roles") 014 public class GroupRole extends BaseIdentifiable { 015 016 public static final Integer ANYONE_GROUP_ID = null; 017 018 @Column(name = "group_id") 019 private Integer groupId; 020 021 @Column(name = "role") 022 private String role; 023 024 @Column(name = "resource_id") 025 private Integer resourceId; 026 027 public static GroupRole buildGlobalRole(Integer groupId, String role) { 028 return new GroupRole().setGroupId(groupId).setRole(role); 029 } 030 031 public static GroupRole buildResourceRole(Integer groupId, String role, Integer resourceId) { 032 return new GroupRole().setGroupId(groupId).setRole(role).setResourceId(resourceId); 033 } 034 035 public Integer getGroupId() { 036 return groupId; 037 } 038 039 public GroupRole setGroupId(Integer groupId) { 040 this.groupId = groupId; 041 return this; 042 } 043 044 public String getRole() { 045 return role; 046 } 047 048 public GroupRole setRole(String role) { 049 this.role = role; 050 return this; 051 } 052 053 public Integer getResourceId() { 054 return resourceId; 055 } 056 057 public GroupRole setResourceId(Integer resourceId) { 058 this.resourceId = resourceId; 059 return this; 060 } 061 062 public boolean isAnyone() { 063 return groupId==ANYONE_GROUP_ID; 064 } 065 }