01: /*
02: * JBoss, Home of Professional Open Source
03: * Copyright 2005, JBoss Inc., and individual contributors as indicated
04: * by the @authors tag. See the copyright.txt in the distribution for a
05: * full listing of individual contributors.
06: *
07: * This is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU Lesser General Public License as
09: * published by the Free Software Foundation; either version 2.1 of
10: * the License, or (at your option) any later version.
11: *
12: * This software is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this software; if not, write to the Free
19: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21: */
22: package org.jbpm.identity;
23:
24: import java.io.*;
25:
26: /**
27: * one association between user and a group.
28: * The name of the membership represents the role-name that
29: * the user fullfills in the group.
30: * A membership can be a position in an organisation, therefor
31: * permissions can be associated with a membership.
32: * The name of the membership can be used as the role name. Meaning
33: * which role does the user fullfill in the group.
34: */
35: public class Membership extends Entity implements Serializable {
36:
37: private static final long serialVersionUID = 1L;
38:
39: protected String role = null;
40: protected User user = null;
41: protected Group group = null;
42:
43: // constructors /////////////////////////////////////////////////////////////
44:
45: public Membership() {
46: }
47:
48: public static Membership create(User user, String role, Group group) {
49: Membership membership = create(user, group);
50: membership.role = role;
51: return membership;
52: }
53:
54: public static Membership create(User user, Group group) {
55: Membership membership = new Membership();
56: user.addMembership(membership);
57: group.addMembership(membership);
58: return membership;
59: }
60:
61: // setters //////////////////////////////////////////////////////////////////
62: public void setUser(User user) {
63: this .user = user;
64: }
65:
66: public void setGroup(Group group) {
67: this .group = group;
68: }
69:
70: // getters //////////////////////////////////////////////////////////////////
71:
72: public long getId() {
73: return id;
74: }
75:
76: public Group getGroup() {
77: return group;
78: }
79:
80: public User getUser() {
81: return user;
82: }
83:
84: public String getRole() {
85: return role;
86: }
87:
88: public void setRole(String role) {
89: this.role = role;
90: }
91: }
|