1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package edu.internet2.middleware.grouper.group;
21
22 import com.fasterxml.jackson.annotation.JsonIgnore;
23
24 import edu.internet2.middleware.grouper.Group;
25 import edu.internet2.middleware.grouper.GrouperSession;
26 import edu.internet2.middleware.grouper.Member;
27 import edu.internet2.middleware.grouper.MemberFinder;
28 import edu.internet2.middleware.grouper.annotations.GrouperIgnoreClone;
29 import edu.internet2.middleware.grouper.annotations.GrouperIgnoreDbVersion;
30 import edu.internet2.middleware.grouper.annotations.GrouperIgnoreFieldConstant;
31 import edu.internet2.middleware.grouper.attr.assign.AttributeAssignEffMshipDelegate;
32 import edu.internet2.middleware.grouper.attr.assign.AttributeAssignable;
33 import edu.internet2.middleware.grouper.attr.value.AttributeValueDelegate;
34 import edu.internet2.middleware.grouper.permissions.role.Role;
35 import edu.internet2.middleware.subject.Subject;
36
37
38
39
40
41 public class GroupMember implements AttributeAssignable {
42
43
44
45
46
47 public GroupMember(Group group1, Member member1) {
48 super();
49 this.group = group1;
50 this.member = member1;
51 }
52
53
54
55
56
57 public GroupMember(Role group1, Subject subject) {
58 this((Group)group1, subject);
59 }
60
61
62
63
64
65 public GroupMember(Group group1, Subject subject) {
66 super();
67 this.group = group1;
68 this.member = MemberFinder.findBySubject(GrouperSession.staticGrouperSession(), subject, false);
69 }
70
71
72
73
74 @Override
75 public String toString() {
76 return "GroupMember: " + group + ", member: " + member;
77 }
78
79
80
81
82 public GroupMember() {
83
84 }
85
86
87 private Group group;
88
89
90 private Member member;
91
92
93
94
95
96 @JsonIgnore
97 public AttributeAssignEffMshipDelegate getAttributeDelegate() {
98 return new AttributeAssignEffMshipDelegate(this.group, this.member);
99 }
100
101
102
103
104
105
106
107 public Group getGroup() {
108 return this.group;
109 }
110
111
112
113
114
115 public void setGroup(Group group1) {
116 this.group = group1;
117 }
118
119
120
121
122
123 public Member getMember() {
124 return this.member;
125 }
126
127
128
129
130
131 public void setMember(Member member1) {
132 this.member = member1;
133 }
134
135
136
137
138
139 public AttributeValueDelegate getAttributeValueDelegate() {
140 if (this.attributeValueDelegate == null) {
141 this.attributeValueDelegate = new AttributeValueDelegate(this.getAttributeDelegate());
142 }
143 return this.attributeValueDelegate;
144 }
145
146
147 @GrouperIgnoreClone @GrouperIgnoreDbVersion @GrouperIgnoreFieldConstant @JsonIgnore
148 private AttributeValueDelegate attributeValueDelegate;
149
150
151 }