package hu.ppke.itk.itkStock.server.db.dbAccess; import java.sql.ResultSet; import java.sql.SQLException; /** * Ez az osztaly az ose az osszes 'BusinessObject'-et kezelo 'Manager' osztalynak. * Feladata osszekapcsolni a 'BusinessObject' peldanyokat az adatbazissal, megvalositani az SQL eljarasokat, melyekkel lekerdezhetjuk, modosithatjuk oket. * @see BusinessObject * @see PreparedStatement */ public abstract class AbstractManager<T extends BusinessObject> { protected DatabaseConnector dbConnector; protected volatile ResultSet resultSet = null; public AbstractManager(DatabaseConnector dbConnector) { this.dbConnector = dbConnector; } /** * Frissiti az adatbazis-beli adatokat a bo (BusinessObject) objektumban talalt informaciok alapjan. * * @param bo Az objektum, mely adatait "szinkronizaljuk" az adatbazissal. */ public abstract void update(T bo) throws SQLException; /** * Letrehozza az adatbazis-beli adatok alapjan az aktualis 'BusinesObject'-et. * * @param id Az azonosito, mely alapjan elerhetjuk az adatbazisban a meglevo objektumot. Bizonoyos esetekben letrehozhatunk hasonlo nevu fuggvenyt * leszarmazott osztalyokba mas elvart parameterrel. */ public abstract T get(int id) throws SQLException, BusinessObjectException; /** * A parameterkent kapott 'BusinessObject'-ben talalt adatok alapjan letrehoz az adatbazisban egy uj bejegyzest. Ha letezik ilyen adat, akkor kivetelt dob. * * @param bo A letrehozando 'BusinessObject'. */ public abstract void create(T bo) throws SQLException, BusinessObjectException; }