Skip to content

Package: DatabaseManager

DatabaseManager

nameinstructionbranchcomplexitylinemethod
DatabaseManager()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package de.fhdw.wtf.persistence.facade;
2:
3: import java.io.IOException;
4:
5: import de.fhdw.wtf.persistence.exception.ClassFacadeUninitializedException;
6: import de.fhdw.wtf.persistence.exception.PersistenceException;
7: import de.fhdw.wtf.persistence.utils.PropertiesReader;
8:
9: /**
10: * This is the Interface that will connect to a database, create and return the ObjectFacade and the ClassFacade.
11: */
12: public abstract class DatabaseManager {
13:         
14:         /**
15:          * Loads the configuration from a given file.
16:          *
17:          * @param reader
18:          * The reader where the connection properties are stored.
19:          * @throws IOException
20:          */
21:         public abstract void setConnectionConstantsFromFile(PropertiesReader reader) throws IOException;
22:         
23:         /**
24:          * Connects to the Database with the given Information. After the successful execution of this method, it is
25:          * possible to get Access to the default connection.
26:          *
27:          * @throws PersistenceException
28:          * If the Database is not accessible or the given credentials were wrong, a Persistence Exception will
29:          * be thrown.
30:          *
31:          */
32:         public abstract void connect() throws PersistenceException;
33:         
34:         /**
35:          * Returns the class facade that works with this manager.
36:          *
37:          * @return The class facade
38:          */
39:         public abstract ClassFacade getClassFacade();
40:         
41:         /**
42:          * Returns the object facade that works with this manager.
43:          *
44:          * @return The object facade
45:          * @throws ClassFacadeUninitializedException
46:          * thrown if the facade is not initialized
47:          */
48:         public abstract ObjectFacade getObjectFacade() throws ClassFacadeUninitializedException;
49:         
50:         /**
51:          * This Method closes the connection with the database. It should be invoked at last.
52:          *
53:          * @throws PersistenceException
54:          * A Persistence Exception is thrown if something on the database side goes wrong.
55:          */
56:         public abstract void disconnect() throws PersistenceException;
57:         
58:         /**
59:          * Checks if the manager is connected.
60:          *
61:          * @return Provides true whether connect has been successfully invoked or not.
62:          */
63:         public abstract boolean isConnected();
64:         
65:         /**
66:          * Clears the database. Recreates the database-schema and creates database-procedures if necessary.
67:          *
68:          * @throws PersistenceException
69:          * if access to database failed.
70:          * @throws IOException
71:          * will be thrown if a file is not accessible.
72:          */
73:         public abstract void resetDatabase() throws PersistenceException, IOException;
74:         
75:         /**
76:          * Clears all database tables.
77:          *
78:          * @throws PersistenceException
79:          * access to database failed
80:          */
81:         public abstract void clearTables() throws PersistenceException;
82: }