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 }