View Javadoc

1   /*
2    * PersistanceManager.java
3    *
4    * Created on June 3, 2009, 4:46 PM
5    */
6   
7   package gov.bnl.gums.persistence;
8   
9   import gov.bnl.gums.configuration.Configuration;
10  
11  import java.util.Collection;
12  
13  /** Represent an engine for all the classes that take care of the persistance of
14   * the configuration and its AccountMappers, the UserGroups or any other components.
15   * <p>
16   * Implementing a new PersistanceManager class allows to complete redefined how
17   * the user, group and accounting information is stored. This will allow to keep
18   * the information integrated in the site accounting system, being it any RDBMS,
19   * LDAP, or even a combination of these.
20   * <p>
21   * It also allow to use different mapping technologies, allowing to use either
22   * entity beans, simple JDBC, Hibernate or any other favorite technology.
23   *
24   * @author Jay Packard
25   */
26  public interface PersistenceEngine {
27  	void beginTransaction();
28  
29  	void commit();
30  
31  	void rollback();
32  
33  	void removeBackupConfiguration(String name);
34  	
35  	Collection<String> retrieveBackupConfigurationNames();
36  
37  	Configuration retrieveCurrentConfiguration();
38  	
39  	Configuration restoreConfiguration(String name);
40  
41  	void setConfiguration(Configuration conf);
42  }