<?php
/**
 * Az adtbázis szerializációhoz szükséges interfész. (Ezt elvileg csak az Entity osztálynak kell 
 * implementálnia, minthogy minden adatbáziselemekkel kapcsolatos műveletet az entitásokkal volna jó
 * leírni, viszont előfordulhatnak különleges esetek, amikor ez nem megoldható, így ilyenkor jól 
 * használható, ugyanis a magasszintű adatbázis kezeléshez elégséges, a különleges adatbáziselemeknek
 * ezt az interfészt implementálniuk.) 
 * 
 * @author Peter Csubak (chuby)
 * @copyright Peter Csubak (chuby)
 */
interface DataBaseSerializable{
	
	/**
	 * Úgy kell implementálni, hogy egy szabályos adatbáziselemet adjon vissza, ami azt jelenti, hogy 
	 * a visszaadott asszociatív tömb kulcsai rendre az adatbázis tábla mezőnevei, és értékei az azokhoz
	 * tartozó értékek kell hogy legyenek.
	 */
    public function toDBElement();
    
    /**
     * Úgy kell implementálni, hogy a paraméterknt kapott adatbáziselem kulcs-érték párosai a magaaszontű 
     * adatbáziselemben felhasználhatóak legyenek. (Általában az adattagoknak kell hogy értékeket adjanak)
     */
    public function fromDBElement($dbelement);
    
    /**
     * Úgy kell implementálni, hogy az adatbázis tábla nevét adja vissza. (Ez általában származtatható az 
     * osztálynévből.)
     */
    public function getTableName();
        
}
?>
