View Javadoc

1   /*
2    * ManualUserGroup.java
3    *
4    * Created on May 25, 2004, 4:48 PM
5    */
6   
7   package gov.bnl.gums;
8   
9   /*** A user group that is defined by a list of users stored in some way, allowing
10   * to add and remove users. The persistance layer is implemented through an
11   * interface, allowing different storage frameworks (i.e. database, LDAP, file)
12   * <p>
13   * This class will provide also configurable data caching.
14   *
15   * @author  Gabriele Carcassi
16   */
17  public class ManualUserGroup implements UserGroup {
18      
19      private ManualUserGroupDB db;
20      private String name;
21      private PersistenceFactory persistenceFactory;
22      
23      public java.util.List getMemberList() {
24          return db.retrieveMembers();
25      }
26      
27      public String getName() {
28          return name;
29      }
30      
31      public boolean isInGroup(GridUser user) {
32          return db.isMemberInGroup(user);
33      }
34      
35      public void updateMembers() {
36      }
37      
38      public void addMember(GridUser user) {
39          db.addMember(user);
40      }
41      
42      public boolean removeMember(GridUser user) {
43          return db.removeMember(user);
44      }
45      
46      public String getPersistenceFactory() {
47          return persistenceFactory.getName();
48      }
49      
50      public void setPersistence(PersistenceFactory persistenceFactory, String name) {
51          this.persistenceFactory = persistenceFactory;
52          this.name = name;
53          db = persistenceFactory.retrieveManualUserGroupDB(name);
54      }
55  
56      public String toString() {
57          if (persistenceFactory == null) {
58              return "ManualGroup: persistenceFactory=null - group='" + name + "'";
59          } else {
60              return "ManualGroup: persistenceFactory='" + persistenceFactory.getName() + "' - group='" + name + "'";
61          }
62      }
63      
64  }