abk.dao.sql
Class ADataMap<K extends Serializable,T extends IDataItem<K>>

java.lang.Object
  extended by abk.dao.sql.ADataMap<K,T>
Type Parameters:
K - Tipo de la clave de la entidad.
T - Tipo del objeto, extensión de ADataItem.
All Implemented Interfaces:
IDataMap<K,T>, Map<K,T>

public abstract class ADataMap<K extends Serializable,T extends IDataItem<K>>
extends Object
implements IDataMap<K,T>

Representa una colección de métodos para al acesso a elementos ADataItem a través de una sesión de base de datos.

Cuando se crea una nueva instancia de ADataMap, se abre la sesión para obtener su conexión, que deberá ser cerrada desde el punto pertinente de la clase que la creó.


Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
private  Connection iConn
           
private  ADataMapper<K,T> iMapper
          Objeto que implementa el mapeado entre propiedades e instancias.
private  boolean iUseLocks
           
 
Constructor Summary
protected ADataMap(ADataMap<?,?> dao)
           
private ADataMap(Connection conn)
           
protected ADataMap(IDataConnector connector)
           
 
Method Summary
 void beginTransaction()
           
 CallableStatement callStatement(CharSequence sql)
          Crea una sentencia SQL parametrizada para la ejecución de un procedimiento de base de datos.
private  K castKey(Object obj)
           
 void clear()
           
 void commit()
           
 boolean containsKey(K keyValue)
           
 boolean containsKey(Object obj)
           
 boolean containsValue(Object obj)
           
 void copyTo(ASqlStatement stm, int index, T ot, String name)
          Copia el valor de la propiedad desde la entidad hacia la sentencia SQL que se está preparando.
 boolean delete(K key)
          Borra del mapa el elmento asociado a la clave que se le pasa.
 int deleteAll()
          Borra todos los elementos del mapa.
 ADataSet<K,T> entrySet()
           
 T find(K key)
          Carga una entidad desde la base de datos a partir de un valor clave.
 T find(K key, boolean forUpdate)
           
 T get(Object key)
           
 Connection getConnection()
           
abstract  Class<T> getItemClass()
           
 Class<K> getKeyClass()
           
 ADataMapper<K,T> getMapper()
           
 K insert(T ot)
          Realiza una operación INSERT en la base de datos usando el método autogenerado para obtener la clave asignada automáticamente al nuevo registro.
 boolean isEmpty()
          Devuelve true si el mapa no contiene ninguna entrada.
 K keyResult(ASqlStatement stm)
           
 Set<K> keySet()
           
 Set<K> keySetResult(ASqlStatement stm)
           
 List<T> listResult(ASqlStatement stm)
           
 boolean load(T data)
          Carga una entidad desde la base de datos.
 ASqlStatement newStatement(CharSequence sql)
          Crea una sentencia SQL parametrizada, mostrando previamente la sentencia en los logs de la aplicación.
 ASqlStatement newStatement(CharSequence sql, boolean autoGeneratedKeys)
          Crea una sentencia SQL parametrizada, mostrando previamente la sentencia en los logs de la aplicación.
 T put(K key, T item)
           
 T put(T item)
          Realiza una operación de inserción o de actualización del objeto en el mapa, en función de que ya haya una instancia con la misma clave.
 void putAll(Map<? extends K,? extends T> mapa)
           
 T remove(K key)
           
 T remove(Object key)
           
 void rollback()
           
 void save(T data)
          Graba un nuevo objeto insertándolo en la base de datos.
 void saveAll(Iterable<? extends T> all)
          Graba una copia profunda de todos los objetos que se le pasan.
 int size()
          Devuelve la cantidad de filas que tiene una tabla de la base de datos.
 T uniqueResult(ASqlStatement stm)
           
 boolean uniqueResult(T ot, ASqlStatement stm)
           
 boolean update(T ot)
          Actualiza un objeto del mapa con los datos de otro que se le pasa.
 Collection<T> values()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

iMapper

private final ADataMapper<K extends Serializable,T extends IDataItem<K>> iMapper
Objeto que implementa el mapeado entre propiedades e instancias.


iConn

private final Connection iConn

iUseLocks

private boolean iUseLocks
Constructor Detail

ADataMap

private ADataMap(Connection conn)

ADataMap

protected ADataMap(IDataConnector connector)
            throws SQLException
Throws:
SQLException

ADataMap

protected ADataMap(ADataMap<?,?> dao)
Method Detail

getMapper

public final ADataMapper<K,T> getMapper()

getConnection

public final Connection getConnection()

getKeyClass

public final Class<K> getKeyClass()

getItemClass

public abstract Class<T> getItemClass()

beginTransaction

public void beginTransaction()
                      throws SQLException
Throws:
SQLException

commit

public void commit()

rollback

public void rollback()

newStatement

public final ASqlStatement newStatement(CharSequence sql)
                                 throws SQLException
Crea una sentencia SQL parametrizada, mostrando previamente la sentencia en los logs de la aplicación.

Parameters:
sql - Sentencia SQL en formato de texto.
Returns:
Instancia de PreparedStatement
Throws:
SQLException - si Connection.prepareStatement(String) lo lanza.

newStatement

public final ASqlStatement newStatement(CharSequence sql,
                                        boolean autoGeneratedKeys)
                                 throws SQLException
Crea una sentencia SQL parametrizada, mostrando previamente la sentencia en los logs de la aplicación.

Parameters:
sql - Sentencia SQL en formato de texto.
autoGeneratedKeys - true si se quiere recuperar una clave autogenerada asociada a la ejecución de la sentencia sql.
Returns:
Instancia de PreparedStatement
Throws:
SQLException - si Connection.prepareStatement(String) lo lanza.

callStatement

public final CallableStatement callStatement(CharSequence sql)
                                      throws SQLException
Crea una sentencia SQL parametrizada para la ejecución de un procedimiento de base de datos.

Parameters:
sql - Sentencia SQL en formato de texto.
Returns:
Instancia de CallableStatement
Throws:
SQLException - si Connection.prepareCall(String) lanza una SQLException.

copyTo

public void copyTo(ASqlStatement stm,
                   int index,
                   T ot,
                   String name)
            throws SQLException
Copia el valor de la propiedad desde la entidad hacia la sentencia SQL que se está preparando.

Parameters:
stm - Sentencia SQL en preparación.
index - Posición dentro de stm donde se coloca la propiedad.
ot - Instancia desde donde se recoge el valor de la propiedad.
name - Propiedad que se copia en la sentencia SQL.
Throws:
SQLException - Excepción SQL.

uniqueResult

public final boolean uniqueResult(T ot,
                                  ASqlStatement stm)
                           throws SQLException
Throws:
SQLException

uniqueResult

public final T uniqueResult(ASqlStatement stm)
                                          throws SQLException
Throws:
SQLException

listResult

public final List<T> listResult(ASqlStatement stm)
                                              throws SQLException
Throws:
SQLException

keyResult

public final K keyResult(ASqlStatement stm)
                                       throws SQLException
Throws:
SQLException

keySetResult

public final Set<K> keySetResult(ASqlStatement stm)
                                               throws SQLException
Throws:
SQLException

size

public int size()
Devuelve la cantidad de filas que tiene una tabla de la base de datos.

Specified by:
size in interface Map<K extends Serializable,T extends IDataItem<K>>
Returns:
Número de filas.
Throws:
ADataException - si se produce algún error.

isEmpty

public boolean isEmpty()
Devuelve true si el mapa no contiene ninguna entrada.

Specified by:
isEmpty in interface Map<K extends Serializable,T extends IDataItem<K>>
Returns:
true si el mapa no contiene ninguna entrada.
Throws:
ADataException - si se produce algún error.

castKey

private K castKey(Object obj)

containsKey

public boolean containsKey(Object obj)
Specified by:
containsKey in interface Map<K extends Serializable,T extends IDataItem<K>>

containsValue

public boolean containsValue(Object obj)
Specified by:
containsValue in interface Map<K extends Serializable,T extends IDataItem<K>>

containsKey

public boolean containsKey(K keyValue)

get

public T get(Object key)
Specified by:
get in interface Map<K extends Serializable,T extends IDataItem<K>>

put

public T put(K key,
             T item)
Specified by:
put in interface Map<K extends Serializable,T extends IDataItem<K>>

remove

public T remove(Object key)
Specified by:
remove in interface Map<K extends Serializable,T extends IDataItem<K>>

putAll

public void putAll(Map<? extends K,? extends T> mapa)
Specified by:
putAll in interface Map<K extends Serializable,T extends IDataItem<K>>

clear

public void clear()
Specified by:
clear in interface Map<K extends Serializable,T extends IDataItem<K>>

keySet

public Set<K> keySet()
Specified by:
keySet in interface Map<K extends Serializable,T extends IDataItem<K>>

values

public Collection<T> values()
Specified by:
values in interface Map<K extends Serializable,T extends IDataItem<K>>

entrySet

public ADataSet<K,T> entrySet()
Specified by:
entrySet in interface Map<K extends Serializable,T extends IDataItem<K>>

find

public T find(K key)
                            throws SQLException
Carga una entidad desde la base de datos a partir de un valor clave.

Parameters:
key - Valor de la clave para la búsqueda.
Returns:
Devuelve el objeto cargado o null si no se encuentra un objeto con esa clave.
Throws:
SQLException - si se produce cualquier error.

find

public T find(K key,
              boolean forUpdate)
                            throws SQLException
Throws:
SQLException

load

public boolean load(T data)
Carga una entidad desde la base de datos.

Specified by:
load in interface IDataMap<K extends Serializable,T extends IDataItem<K>>
Parameters:
data - Entidad a cargar. El campo con la clave debe estar inicializado.
Returns:
Devuelve true si el dato se ha cargado, o false si no se ha encontrado el objeto.
Throws:
ADataException - Excepción de SQL.

save

public void save(T data)
Graba un nuevo objeto insertándolo en la base de datos. El dato debe tener rellenos todos los datos obligatorios, incluida la clave.

Specified by:
save in interface IDataMap<K extends Serializable,T extends IDataItem<K>>
Parameters:
data - Dato a grabar.
Throws:
NullPointerException - data es nulo.
ADataException - si se produce un error de acceso a datos.
See Also:
insert(T)

saveAll

public void saveAll(Iterable<? extends T> all)
Description copied from interface: IDataMap
Graba una copia profunda de todos los objetos que se le pasan.

Specified by:
saveAll in interface IDataMap<K extends Serializable,T extends IDataItem<K>>
Parameters:
all - Lista de objetos a grabar.

insert

public K insert(T ot)
Realiza una operación INSERT en la base de datos usando el método autogenerado para obtener la clave asignada automáticamente al nuevo registro.

El método comprueba si el mapeador tiene una secuencia. Si la tiene invoca a SqlUtil.insertWithSequence(IDataItem, ADataMapper, Connection). En caso contrario invoca a SqlUtil.insertWithAutoIncrement(IDataItem, ADataMapper, Connection).

Specified by:
insert in interface IDataMap<K extends Serializable,T extends IDataItem<K>>
Parameters:
ot - Objeto a insertar en la base de datos. Su propiedad key es ignorada.
Returns:
La clave asignada al registro insertado, o null si la inserción ha fallado.
Throws:
NullPointerException - si alguno de los argumentos es nulo.
ADataException - si se produce un error de acceso a datos.
See Also:
SqlUtil.insert(IDataItem, ADataMapper, Connection)

update

public boolean update(T ot)
Description copied from interface: IDataMap
Actualiza un objeto del mapa con los datos de otro que se le pasa.

Specified by:
update in interface IDataMap<K extends Serializable,T extends IDataItem<K>>
Parameters:
ot - Datos para actualizar.
Returns:
true si la operación se realizó con éxito.

put

public T put(T item)
Description copied from interface: IDataMap
Realiza una operación de inserción o de actualización del objeto en el mapa, en función de que ya haya una instancia con la misma clave.

Specified by:
put in interface IDataMap<K extends Serializable,T extends IDataItem<K>>
Returns:
Objeto con los valores que figuraban en la base de datos, o null si no había ningún registro con la misma clave de data.

delete

public boolean delete(K key)
Description copied from interface: IDataMap
Borra del mapa el elmento asociado a la clave que se le pasa.

Specified by:
delete in interface IDataMap<K extends Serializable,T extends IDataItem<K>>
Parameters:
key - Clave del elemento a eliminar del mapa.
Returns:
true si la clave identificaba a un registro y éste ha sido borrado. false en otro caso, incluyendo que key sea nulo.

deleteAll

public int deleteAll()
Description copied from interface: IDataMap
Borra todos los elementos del mapa.

Specified by:
deleteAll in interface IDataMap<K extends Serializable,T extends IDataItem<K>>
Returns:
Número de elementos que se han borrado, el número de valores que tenía el mapa.

remove

public T remove(K key)
                              throws SQLException
Throws:
SQLException


Copyright © 2024. All rights reserved.