public class SqliteConnector extends java.lang.Object implements DbConnector
| Modifier and Type | Field and Description |
|---|---|
private java.sql.Connection |
connection
Referenz auf die Verbindung zur Datenbank
|
| Constructor and Description |
|---|
SqliteConnector(java.lang.String pDbHandle)
Konstruktor gibt eine neue Instanz des SqliteConnector zurück.
|
| Modifier and Type | Method and Description |
|---|---|
int |
createArticle(java.lang.String pName,
java.lang.String pDesc)
Erstellt einen neuen Artikel mit dem übergebenen Namen und der übergebenen Beschreibung.
|
int |
createNewLender(java.lang.String pLName,
java.lang.String pLSurname,
java.lang.String pLSN)
Erzeugt einen neuen Ausleiher mit den übergebenen Daten.
|
int[] |
createNewLending(int pArtId,
int pUId,
int pLId,
java.lang.String pStartDate,
java.lang.String pEstEndDate)
Erstellt eine neue Ausleihe.
|
int |
createUser(java.lang.String pName,
java.lang.String pSurname)
Erzeugt einen neuen Benutzer mit dem übergebenen Vor- und Nachnamen.
|
int |
deleteArticle(int id)
Löscht den Artikel mit der übergebenen ID.
|
boolean |
deleteUser(int id)
Löscht den Benutzer mit der als Parameter übergebenen ID.
|
int |
editArticle(int pId,
java.lang.String pName,
java.lang.String pDesc)
Setzt Name und Beschreibung des Artikels mit der übergebenen ID entsprechend.
|
int |
editUser(int pId,
java.lang.String pName,
java.lang.String pSurname)
Bearbeitet den Benutzer mit der übergebenen ID und ändert ggf.
|
java.util.ArrayList<KArticle> |
getArticleList()
Gibt die komplette Artikelliste als ArrayList zurück.
|
java.util.ArrayList<KLender> |
getLenderList()
Gibt die komplette Ausleiher-Liste als ArrayList zurück.
|
java.util.ArrayList<KLending> |
getLendingList()
Gibt die komplette Liste der Ausleihen als ArrayList zurück.
|
java.util.ArrayList<KLending> |
getLendingListForArticle(int pArtId)
Gibt die Liste der Ausleihen für den Artikel mit der als Parameter übergebenen ID als ArrayList zurück.
|
java.util.ArrayList<KUser> |
getUserList()
Gibt eine Liste aller Benutzer als ArrayList zurück.
|
private boolean |
initNewDB(java.util.Hashtable<java.lang.String,java.lang.String> pScheme,
java.sql.Connection pConn)
Erstellt an der übergebenen Datenbankverbindung eine neue Datenbank mit dem übergebenen Schema.
|
private boolean |
isValidDB(java.util.Hashtable<java.lang.String,java.lang.String> pScheme,
java.sql.Connection pConn)
Prüft, ob die übergebene Datenbankverbindung eine Datenbank mit dem übergebenen DB-Schema enthält.
|
private java.util.Hashtable<java.lang.String,java.lang.String> |
loadScheme()
Erzeugt ein Datenbankschema in einer Hashtable.
|
int |
returnLending(int lendingId,
int artId,
java.lang.String end_date)
Gibt eine Ausleihe zurück, indem ein End-Datum gesetzt wird und der Artikel wieder freigegeben wird.
|
boolean |
rewriteToNewUser(int pOldId,
int pNewId)
Schreibt alle Ausleihen von einem auf einen anderen Benutzer um.
|
private java.sql.Connection connection
public SqliteConnector(java.lang.String pDbHandle)
throws java.lang.ClassNotFoundException,
java.sql.SQLException,
java.io.IOException
Lädt das Datenbankschema und speichert es zwischen. Prüft, ob bereits eine Datenbankdatei mit dem übergebenen Dateipfad existiert. Falls ja, wird das Datenbankschema überprüft, falls nein, wird eine neue Datenbankdatei mit dem vorher geladenen Schema erzeugt.
pDbHandle - This string contains the path to database file the connector has to usejava.io.IOException - Wenn IO-Fehler, wie Probleme mit den Berechtigungen auftreten, oder der pDbHandle auf einen Symlink oder ein Verzeichnis verweist.java.sql.SQLException - Wenn die gegebene Datenbank nicht dem Datenbankschema entspricht.java.lang.ClassNotFoundException - Wenn der JDBC-Connector nicht gefunden werden konnte.private boolean isValidDB(java.util.Hashtable<java.lang.String,java.lang.String> pScheme,
java.sql.Connection pConn)
pScheme - Datenbankschema, gegen das geprüft werden soll.pConn - Datenbankverbindung, die geprüft werden soll.private boolean initNewDB(java.util.Hashtable<java.lang.String,java.lang.String> pScheme,
java.sql.Connection pConn)
pScheme - Schema, nach deren Vorbild die Datenbank erzeugt werden soll.pConn - Datenbankverbindung, an der versucht werden soll, eine Datenbank zu erzeugen.private java.util.Hashtable<java.lang.String,java.lang.String> loadScheme()
public java.util.ArrayList<KUser> getUserList()
getUserList in interface DbConnectorpublic java.util.ArrayList<KArticle> getArticleList()
getArticleList in interface DbConnectorpublic java.util.ArrayList<KLender> getLenderList()
getLenderList in interface DbConnectorpublic java.util.ArrayList<KLending> getLendingList()
getLendingList in interface DbConnectorpublic java.util.ArrayList<KLending> getLendingListForArticle(int pArtId)
getLendingListForArticle in interface DbConnectorpArtId - ID der Artikels, für den die Ausleihen zurückgegeben werden sollen.public int createUser(java.lang.String pName,
java.lang.String pSurname)
Gibt je nach Ergebnis einen anderen Statuscode als Int zurück:
createUser in interface DbConnectorpName - Vorname.pSurname - Nachname.public int editUser(int pId,
java.lang.String pName,
java.lang.String pSurname)
Gibt je nach Ergebnis einen anderen Statuscode als Int zurück:
editUser in interface DbConnectorpId - ID des Benutzert, der bearbeitet werden soll.pName - (Neuer) Vorname.pSurname - (Neuer) Nachname.public boolean deleteUser(int id)
deleteUser in interface DbConnectorid - ID des Benutzers, der gelöscht werden soll.public int createArticle(java.lang.String pName,
java.lang.String pDesc)
Je nach Ergebnis gibt die Funktion einen anderen Statuscode als Int zurück:
createArticle in interface DbConnectorpName - Name des Artikels.pDesc - Beschreibung des Artikels.public int deleteArticle(int id)
Je nach Ergebnis gibt die Funktion einen anderen Statuscode als Int zurück:
deleteArticle in interface DbConnectorid - ID des Artikels, der gelöscht werden soll.public int editArticle(int pId,
java.lang.String pName,
java.lang.String pDesc)
Je nach Ergebnis gibt die Funktion einen anderen Statuscode als Int zurück:
editArticle in interface DbConnectorpId - ID des Artikels, der bearbeitet werden soll.pName - (Neuer) Name des Artikels.pDesc - (Neue) Beschreibung des Artikels.public int[] createNewLending(int pArtId,
int pUId,
int pLId,
java.lang.String pStartDate,
java.lang.String pEstEndDate)
Gibt ein Int-Array der Länge 2 zurück. An erster Stelle steht der Rückgabestatus, an zweiter Stelle die ID der gerade erzeugten Tabellenzeile.
Die Statuscodes lauten:
createNewLending in interface DbConnectorpArtId - ID des verliehenen Artikels.pUId - ID des ausleihenden Benutzers.pLId - ID des Ausleihers.pStartDate - Startdatum der Ausleihe.pEstEndDate - Voraussichtliches Enddatum der Ausleihe.public boolean rewriteToNewUser(int pOldId,
int pNewId)
rewriteToNewUser in interface DbConnectorpOldId - ID des alten Benutzers.pNewId - ID des Benutzers, auf den die Ausleihen umgeschrieben werden sollen.public int returnLending(int lendingId,
int artId,
java.lang.String end_date)
Je nach Ergebnis gibt die Funktion einen anderen Statuscode als Int zurück:
returnLending in interface DbConnectorlendingId - ID der Ausleihe, die zurückgegeben werden soll.artId - ID des Artikels, der freigegeben werden soll.end_date - ID des Rückgabedatums.public int createNewLender(java.lang.String pLName,
java.lang.String pLSurname,
java.lang.String pLSN)
Je nach Ergebnis gibt die Funktion einen anderen Statuscode als Int zurück:
createNewLender in interface DbConnectorpLName - Vorname des neuen Ausleihers.pLSurname - Nachname des neuen Ausleihers.pLSN - Matrikelnummer des neuen Ausleihers.