org.nuiton.topia.persistence
Interface TopiaDAO<Entity extends TopiaEntity>

Type Parameters:
Entity -
All Known Implementing Classes:
TopiaDAOImpl

public interface TopiaDAO<Entity extends TopiaEntity>

Author:
poussin

Method Summary
 void addTopiaEntityListener(TopiaEntityListener listener)
           
 void addTopiaEntityVetoable(TopiaEntityVetoable vetoable)
           
 void commitTransaction()
          Appelé lorsque le context a eu un commit de fait.
 Entity create(Entity e)
          Permet de sauver un object instancié sans le DAO.
 Entity create(Map<String,Object> properties)
          Construit une nouvelle instance de l'objet géré par ce DAO
 Entity create(Object... properties)
          Construit une nouvelle instance de l'objet géré par ce DAO
 TopiaQuery createQuery()
          Crée une requete basé sur l'entité lié au DAO.
 TopiaQuery createQuery(String entityAlias)
          Crée une requête basé sur l'entité lié au DAO et lui assigne un alias valable dans la requête..
 void delete(Entity e)
          Permet de supprimer
 List<Entity> findAll()
           
 List<Entity> findAllByProperties(Map<String,Object> properties)
           
 List<Entity> findAllByProperties(String propertyName, Object value, Object... others)
           
 List<Entity> findAllByProperty(String propertyName, Object value)
           
 List<Entity> findAllByQuery(TopiaQuery query)
          Execute une requête basé sur l'entité du DAO.
 List<Entity> findAllContainsProperties(Map<String,Collection> properties)
          Cherche et renvoie la première entité trouvée dont les propriétés en clé de Map contiennent toutes les valeurs de la Collection.
 List<Entity> findAllContainsProperties(String propertyName, Collection values, Object... others)
          Cherche et renvoie toutes les entités trouvées dont la propriété propertyName contient values, ainsi de suite avec others.
 List<String> findAllIds()
          Recuperation de tous les ids en base pour le type d'entite du dao.
 Map<String,Entity> findAllMappedByQuery(TopiaQuery query)
          Execute une requête basé sur l'entité du DAO.
<K> Map<K,Entity>
findAllMappedByQuery(TopiaQuery query, String keyName, Class<K> keyClass)
          Execute une requête basé sur l'entité du DAO.
 Map<Class<? extends TopiaEntity>,List<? extends TopiaEntity>> findAllUsages(Entity entity)
          Find all usages of the given entity.
 List<Entity> findAllWithOrder(String... propertyNames)
           
 Entity findByPrimaryKey(Map<String,Object> keys)
          Recherche la classe en utilisant la cle naturelle, chaque champs de la cle naturelle est une entre de la map passe en argument.
 Entity findByPrimaryKey(Object... k)
          Recherche la classe en utilisant la cle naturelle, si la cle naturelle est composé de plusieurs champs alors les arguments passés doivent être dans l'ordre de declaration dans le fichier de mapping
 Entity findByProperties(Map<String,Object> properties)
           
 Entity findByProperties(String propertyName, Object value, Object... others)
           
 Entity findByProperty(String propertyName, Object value)
           
 Entity findByQuery(TopiaQuery query)
          Execute une requête basé sur l'entité du DAO.
 Entity findByTopiaId(String k)
           
 Entity findContainsProperties(Map<String,Collection> properties)
          Cherche et renvoie la première entité trouvée dont les propriétés en clé de Map contiennent toutes les valeurs de la Collection.
 Entity findContainsProperties(String propertyName, Collection values, Object... others)
          Cherche et renvoie la première entité trouvée dont la propriété propertyName contient values, ainsi de suite avec others.
<U extends TopiaEntity>
List<U>
findUsages(Class<U> type, Entity entity)
          Find usages of the given entity in the entities of the given type.
 TopiaContextImplementor getContext()
          Return context used by this DAO.
 Class<Entity> getEntityClass()
          Return class of entity managed by this DAO.
 List<Permission> getRequestPermission(String topiaId, int actions)
          Retourne les permissions a verifier pour l'acces a l'entite pour le service Taas.
 void init(TopiaContextImplementor context, Class<Entity> entityClass)
          When TopiaContextImpl create the TopiaDAOHibernate, it must call this method just after.
 Entity newInstance()
          Create a new instance of managed entity.
 void removeTopiaEntityListener(TopiaEntityListener listener)
           
 void removeTopiaEntityVetoable(TopiaEntityVetoable vetoable)
           
 void rollbackTransaction()
          Appelé lorsque le context a eu un rollback de fait.
 long size()
          Compte le nombre d'entites en base
 Entity update(Entity e)
          Permet d'ajouter ou de mettre a jour un objet.
 

Method Detail

init

void init(TopiaContextImplementor context,
          Class<Entity> entityClass)
          throws TopiaException
When TopiaContextImpl create the TopiaDAOHibernate, it must call this method just after.

Parameters:
context - context
entityClass - entity class
Throws:
TopiaException - if any pb while init

newInstance

Entity newInstance()
                                       throws TopiaException
Create a new instance of managed entity.

Returns:
new entity instance
Throws:
TopiaException
Since:
2.3.1

getEntityClass

Class<Entity> getEntityClass()
Return class of entity managed by this DAO.

Returns:
entity managed by this DAO

getContext

TopiaContextImplementor getContext()
Return context used by this DAO.

Returns:
Returns the context.

commitTransaction

void commitTransaction()
                       throws TopiaException
Appelé lorsque le context a eu un commit de fait. TODO il faudrait peut-etre plutot faire un commit a deux phase car plusieurs type de persistence peuvent etre melangé, et il serait bien que si l'une echoué les autres echoue aussi.

Throws:
TopiaException - if any pb while commit

rollbackTransaction

void rollbackTransaction()
                         throws TopiaException
Appelé lorsque le context a eu un rollback de fait.

Throws:
TopiaException - if any pb while rollback

create

Entity create(Object... properties)
                                  throws TopiaException
Construit une nouvelle instance de l'objet géré par ce DAO

Parameters:
properties - la liste des propriétés que doit avoir l'objet créé les arguments vont par paire (propertyName, value)
Returns:
un nouvel objet
Throws:
TopiaException - si un problème est rencontré durant l'instanciation
IllegalArgumentException - Si le nombre on le type des arguments n'est pas bon ou que le type ou le nom d'une propriété est fausse

create

Entity create(Map<String,Object> properties)
                                  throws TopiaException
Construit une nouvelle instance de l'objet géré par ce DAO

Parameters:
properties - la liste des propriétés que doit avoir l'objet créé
Returns:
un nouvel objet
Throws:
TopiaException - si un problème est rencontré durant l'instanciation
IllegalArgumentException - Si le nombre on le type des arguments n'est pas bon ou que le type ou le nom d'une propriété est fausse

create

Entity create(Entity e)
                                  throws TopiaException
Permet de sauver un object instancié sans le DAO.

Parameters:
e - l'entité instanciée à sauver
Returns:
l'entité avec son topiaID valorisé
Throws:
TopiaException
Since:
2.3.1

update

Entity update(Entity e)
                                  throws TopiaException
Permet d'ajouter ou de mettre a jour un objet. Cela permet d'ajouter par exemple un objet provenant d'un autre context mais du meme type de DAO

Parameters:
e - l'entite a ajouter ou mettre a jour
Returns:
l'entity passé en paramètre.
Throws:
TopiaException - if any pb while updating datas

delete

void delete(Entity e)
            throws TopiaException
Permet de supprimer

Parameters:
e -
Throws:
TopiaException

findByTopiaId

Entity findByTopiaId(String k)
                                         throws TopiaException
Throws:
TopiaException

findAll

List<Entity> findAll()
                                         throws TopiaException
Throws:
TopiaException

findAllIds

List<String> findAllIds()
                        throws TopiaException
Recuperation de tous les ids en base pour le type d'entite du dao.

Returns:
la liste de tous les ids
Throws:
TopiaException - si pb en base

findAllWithOrder

List<Entity> findAllWithOrder(String... propertyNames)
                                                  throws TopiaException
Throws:
TopiaException

size

long size()
          throws TopiaException
Compte le nombre d'entites en base

Returns:
le nombre total d'entites existantes
Throws:
TopiaException - if any pb while getting datas

createQuery

TopiaQuery createQuery()
Crée une requete basé sur l'entité lié au DAO. Résultat attendu : "FROM Entity"

Returns:
une nouvelle TopiaQuery vide. (uniquement avec le From sur le type d'entité)

createQuery

TopiaQuery createQuery(String entityAlias)
Crée une requête basé sur l'entité lié au DAO et lui assigne un alias valable dans la requête.. Résultat attendu : "FROM Entity AS entityAlias"

Parameters:
entityAlias - alias permettant de manipuler l'entité dans la requête
Returns:
une nouvelle TopiaQuery

findByQuery

Entity findByQuery(TopiaQuery query)
                                       throws TopiaException
Execute une requête basé sur l'entité du DAO. Permet de récupérer une entité correspondant à la requête.

Parameters:
query - la requête
Returns:
l'entité correspondant à la recherche ou null si aucune entité n'a été trouvée
Throws:
TopiaException - if any pb while getting datas
See Also:
TopiaQuery.executeToEntity(TopiaContext, Class)

findAllByQuery

List<Entity> findAllByQuery(TopiaQuery query)
                                                throws TopiaException
Execute une requête basé sur l'entité du DAO. Permet de récupérer une liste d'entités correspondant à la requête.

Parameters:
query - la requête
Returns:
la liste d'entités correspondant à la recherche
Throws:
TopiaException - if any pb while getting datas
See Also:
TopiaQuery.executeToEntityList(TopiaContext, Class)

findAllMappedByQuery

Map<String,Entity> findAllMappedByQuery(TopiaQuery query)
                                                            throws TopiaException
Execute une requête basé sur l'entité du DAO. Permet de récupérer une map d'entités correspondant à la requête. La clé de la map étant le topiaId de l'entité.

Parameters:
query - la requête
Returns:
la map d'entités correspondant à la recherche
Throws:
TopiaException - if any pb while getting datas
See Also:
TopiaQuery.executeToEntityMap(TopiaContext, Class)

findAllMappedByQuery

<K> Map<K,Entity> findAllMappedByQuery(TopiaQuery query,
                                       String keyName,
                                       Class<K> keyClass)
                                                       throws TopiaException
Execute une requête basé sur l'entité du DAO. Permet de récupérer une map d'entités correspondant à la requête. Le type et le nom de la propriété utilisé comme clé de la map doit être passé en argument.

Type Parameters:
K - type de la clé de la map
Parameters:
query - la requête
keyName - nom de la propriété de l'entité utilisée comme clé
keyClass - type de la propriété de l'entité utilisée comme clé
Returns:
la map d'entités correspondant à la recherche
Throws:
TopiaException - if any pb while getting datas
See Also:
TopiaQuery.executeToEntityMap(TopiaContext, Class)

findByPrimaryKey

Entity findByPrimaryKey(Map<String,Object> keys)
                                            throws TopiaException
Recherche la classe en utilisant la cle naturelle, chaque champs de la cle naturelle est une entre de la map passe en argument.

Parameters:
keys - la liste des champs de la cle naturelle avec leur valeur
Returns:
l'entite trouvé
Throws:
TopiaException

findByPrimaryKey

Entity findByPrimaryKey(Object... k)
                                            throws TopiaException
Recherche la classe en utilisant la cle naturelle, si la cle naturelle est composé de plusieurs champs alors les arguments passés doivent être dans l'ordre de declaration dans le fichier de mapping

Parameters:
k - l'objet cle naturelle de la classe
Returns:
l'entité trouvé
Throws:
TopiaException - if any pb while getting datas

findByProperty

Entity findByProperty(String propertyName,
                      Object value)
                                          throws TopiaException
Throws:
TopiaException

findByProperties

Entity findByProperties(String propertyName,
                        Object value,
                        Object... others)
                                            throws TopiaException
Parameters:
propertyName -
value -
others - les autres proprietes doivent aller par 2 propertyName, value
Returns:
l'entité trouvé
Throws:
TopiaException - if any pb while getting datas

findByProperties

Entity findByProperties(Map<String,Object> properties)
                                            throws TopiaException
Throws:
TopiaException

findAllByProperty

List<Entity> findAllByProperty(String propertyName,
                               Object value)
                                                   throws TopiaException
Throws:
TopiaException

findAllByProperties

List<Entity> findAllByProperties(String propertyName,
                                 Object value,
                                 Object... others)
                                                     throws TopiaException
Parameters:
propertyName -
value -
others - les autres proprietes doivent aller par 2 propertyName, value
Returns:
l'entité trouvé
Throws:
TopiaException - if any pb while getting datas

findAllByProperties

List<Entity> findAllByProperties(Map<String,Object> properties)
                                                     throws TopiaException
Throws:
TopiaException

findContainsProperties

Entity findContainsProperties(Map<String,Collection> properties)
                                                  throws TopiaException
Cherche et renvoie la première entité trouvée dont les propriétés en clé de Map contiennent toutes les valeurs de la Collection.

Parameters:
properties -
Returns:
l'entité trouvé
Throws:
TopiaException - if any pb while getting datas

findContainsProperties

Entity findContainsProperties(String propertyName,
                              Collection values,
                              Object... others)
                                                  throws TopiaException
Cherche et renvoie la première entité trouvée dont la propriété propertyName contient values, ainsi de suite avec others.

Parameters:
propertyName -
values -
others -
Returns:
l'entité trouvé
Throws:
TopiaException - if any pb while getting datas

findAllContainsProperties

List<Entity> findAllContainsProperties(Map<String,Collection> properties)
                                                           throws TopiaException
Cherche et renvoie la première entité trouvée dont les propriétés en clé de Map contiennent toutes les valeurs de la Collection.

Parameters:
properties -
Returns:
l'entité trouvé
Throws:
TopiaException - if any pb while getting datas

findAllContainsProperties

List<Entity> findAllContainsProperties(String propertyName,
                                       Collection values,
                                       Object... others)
                                                           throws TopiaException
Cherche et renvoie toutes les entités trouvées dont la propriété propertyName contient values, ainsi de suite avec others.

Parameters:
propertyName - the name of the property
values -
others -
Returns:
l'entité trouvé
Throws:
TopiaException - if any pb while getting datas

findUsages

<U extends TopiaEntity> List<U> findUsages(Class<U> type,
                                           Entity entity)
                                       throws TopiaException
Find usages of the given entity in the entities of the given type.

Type Parameters:
U - tthe type of entity to search
Parameters:
type - the type of entity to search
entity - the entity
Returns:
the list of entities of the given type which uses the given entity
Throws:
TopiaException - if any problem while getting data
Since:
2.3.0

findAllUsages

Map<Class<? extends TopiaEntity>,List<? extends TopiaEntity>> findAllUsages(Entity entity)
                                                                            throws TopiaException
Find all usages of the given entity.

Parameters:
entity - the entity
Returns:
the dictionnary of usages of the given entities (keys are entity usage container, values are the list of this type of entity to use the given entity).
Throws:
TopiaException - if any pb while getting data
Since:
2.3.0

getRequestPermission

List<Permission> getRequestPermission(String topiaId,
                                      int actions)
                                      throws TopiaException
Retourne les permissions a verifier pour l'acces a l'entite pour le service Taas.

Parameters:
topiaId - topiaId d'une entite
actions -
Returns:
la liste des permissions
Throws:
TopiaException - if any pb while getting datas

addTopiaEntityListener

void addTopiaEntityListener(TopiaEntityListener listener)

addTopiaEntityVetoable

void addTopiaEntityVetoable(TopiaEntityVetoable vetoable)

removeTopiaEntityListener

void removeTopiaEntityListener(TopiaEntityListener listener)

removeTopiaEntityVetoable

void removeTopiaEntityVetoable(TopiaEntityVetoable vetoable)


Copyright © 2004-2010 CodeLutin. All Rights Reserved.