1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-11 09:42:54 +00:00

DAO abstractions and updated 'npc' sql file

Signed-off-by: Rogiel <rogiel@rogiel.com>
This commit is contained in:
2011-05-23 12:51:52 -03:00
parent 66d5fee187
commit 1909bb06cc
41 changed files with 42265 additions and 41874 deletions

View File

@@ -16,6 +16,10 @@
*/
package com.l2jserver.service.database;
import com.l2jserver.model.Model;
import com.l2jserver.model.id.ID;
import com.l2jserver.service.cache.IgnoreCaching;
/**
* The DAO interface
* <p>
@@ -28,6 +32,53 @@ package com.l2jserver.service.database;
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public interface DataAccessObject<T> {
public interface DataAccessObject<O extends Model<?>, I extends ID<?>> {
/**
* Load the instance represented by <tt>id</tt> from the database
*
* @param id
* the id
*/
O select(I id);
/**
* Save the instance to the database. If a new database entry was created
* returns true.
*
* @param object
* the object
* @return true if the row was inserted or updated
*/
@IgnoreCaching
boolean save(O object);
/**
* Inserts the instance in the database.
*
* @param object
* the object
* @return true if the row was inserted
*/
@IgnoreCaching
boolean insert(O object);
/**
* Updates the instance in the database.
*
* @param object
* the object
* @return true if the row was updated
*/
@IgnoreCaching
boolean update(O object);
/**
* Deletes the instance in the database.
*
* @param object
* the object
* @return true if the row was deleted
*/
@IgnoreCaching
boolean delete(O object);
}