Interface TopiaContext

All Known Subinterfaces:
TopiaContextImplementor
All Known Implementing Classes:
TopiaContextImpl

public interface TopiaContext
TODO-FD20100507 : Need javadoc + translate the one on methods. Created: 3 janv. 2006 21:18:34
Version:
$Id$
Author:
poussin <poussin@codelutin.com>, tchemit <tchemit@codelutin.com>
  • Method Details

    • addTopiaEntityListener

      void addTopiaEntityListener(TopiaEntityListener listener)
    • addTopiaEntityListener

      void addTopiaEntityListener(Class<? extends TopiaEntity> entityClass, TopiaEntityListener listener)
    • addTopiaEntityVetoable

      void addTopiaEntityVetoable(TopiaEntityVetoable vetoable)
    • addTopiaEntityVetoable

      void addTopiaEntityVetoable(Class<? extends TopiaEntity> entityClass, TopiaEntityVetoable vetoable)
    • addTopiaTransactionListener

      void addTopiaTransactionListener(TopiaTransactionListener listener)
    • addTopiaTransactionVetoable

      void addTopiaTransactionVetoable(TopiaTransactionVetoable vetoable)
    • addPropertyChangeListener

      void addPropertyChangeListener(PropertyChangeListener listener)
    • addTopiaContextListener

      void addTopiaContextListener(TopiaContextListener listener)
    • addTopiaEntitiesVetoable

      void addTopiaEntitiesVetoable(TopiaEntitiesVetoable vetoable)
    • removeTopiaEntityListener

      void removeTopiaEntityListener(TopiaEntityListener listener)
    • removeTopiaEntityListener

      void removeTopiaEntityListener(Class<? extends TopiaEntity> entityClass, TopiaEntityListener listener)
    • removeTopiaEntityVetoable

      void removeTopiaEntityVetoable(TopiaEntityVetoable vetoable)
    • removeTopiaEntityVetoable

      void removeTopiaEntityVetoable(Class<? extends TopiaEntity> entityClass, TopiaEntityVetoable vetoable)
    • removeTopiaTransactionListener

      void removeTopiaTransactionListener(TopiaTransactionListener listener)
    • removeTopiaTransactionVetoable

      void removeTopiaTransactionVetoable(TopiaTransactionVetoable vetoable)
    • removePropertyChangeListener

      void removePropertyChangeListener(PropertyChangeListener listener)
    • removeTopiaContextListener

      void removeTopiaContextListener(TopiaContextListener listener)
    • removeTopiaEntitiesVetoable

      void removeTopiaEntitiesVetoable(TopiaEntitiesVetoable vetoable)
    • serviceEnabled

      <E extends TopiaService> boolean serviceEnabled(Class<E> interfaceService)
      Return true if specific service is available.
      Type Parameters:
      E - type of service
      Parameters:
      interfaceService - fqn of the service
      Returns:
      the service
    • getService

      <E extends TopiaService> E getService(Class<E> interfaceService) throws TopiaNotFoundException
      Return the service. This service must be valid with public static final SERVICE_NAME property.
      Type Parameters:
      E - type of service
      Parameters:
      interfaceService - class of the service
      Returns:
      the service
      Throws:
      TopiaNotFoundException - if service can't be retrieved
    • createSchema

      void createSchema() throws TopiaException
      Permet de créer le schema de la base de données.
      Throws:
      TopiaException - if any exception
    • showCreateSchema

      void showCreateSchema() throws TopiaException
      Permet d'afficher les requetes SQL de creation de base.
      Throws:
      TopiaException - if any exception
    • updateSchema

      void updateSchema() throws TopiaException
      Permet de mettre à jour le schema de la base de données.
      Throws:
      TopiaException - if any exception
    • beginTransaction

      TopiaContext beginTransaction() throws TopiaException
      Return a new context containing his own transaction.
      Returns:
      new context with transaction
      Throws:
      TopiaException - if any exception
    • commitTransaction

      void commitTransaction() throws TopiaException
      applique les modifications apporté a ce context sur la base de données.
      Throws:
      TopiaException - if any exception
    • rollbackTransaction

      void rollbackTransaction() throws TopiaException
      annule les modifications apporté a ce context.
      Throws:
      TopiaException - if any exception
    • findByTopiaId

      TopiaEntity findByTopiaId(String topiaId) throws TopiaException
      Retrieve TopiaEntity using its unique id.
      Parameters:
      topiaId - unique identifier of the entity in all the application.
      Returns:
      the entity found or null if not
      Throws:
      TopiaException - for errors on retrieving the entity
    • findByQuery

      @Deprecated List findByQuery(TopiaQuery query) throws TopiaException
      Deprecated.
      since 2.6.12, TopiaQuery will be removed in version 3.0
      Retrieve results executing a simple query. Generally this method is used for complex query where output type is specific (more than one element in the SELECT).
      Parameters:
      query - TopiaQuery to execute
      Returns:
      a List of results as hibernate give us
      Throws:
      TopiaException
    • createQuery

      @Deprecated TopiaQuery createQuery(Class<?> entityClass, String alias)
      Deprecated.
      since 2.6.12, TopiaQuery will be removed in version 3.0
      Instantiate a new TopiaQuery.
      Parameters:
      entityClass - main entity class for the Query
      alias - alias of the entity in the Query
      Returns:
      a new TopiaQuery
      See Also:
    • findAll

      List findAll(String hql, Object... args) throws TopiaException
      Permet de faire une requete HQL hibernate directement sur la base.
      Parameters:
      hql - la requete a faire
      args - les arguments de la requete
      Returns:
      La liste des resultats
      Throws:
      TopiaException - si une erreur survient durant la requete
    • find

      List find(String hql, int startIndex, int endIndex, Object... args) throws TopiaException
      Permet de faire une requete HQL hibernate directement sur la base en precisant la fenetre des elements a remonter avec les parametres startIndex et endIndex.
      Parameters:
      hql - la requete a faire
      startIndex - la position du premier element a remonter
      endIndex - la position du dernier element a remonter
      args - les arguments de la requete
      Returns:
      La liste des resultats
      Throws:
      TopiaException - si une erreur survient durant la requete
    • findUnique

      Object findUnique(String jpaql, Object... paramNamesAndValues) throws TopiaException
      Allow to do some HQL query and return an unique result. If nothing if found by the query, will return null. If more than one result is found, will throw an exception. WARNING : Depending on the registered service, this method may not support something else than queries on TopiaEntity
      Parameters:
      jpaql - the JPA-QL query to execute
      paramNamesAndValues - an array of query parameters based on [key,value,key,value,...]
      Returns:
      The result instance or null
      Throws:
      TopiaException - for any error during querying or if the the query returns more than one result.
    • execute

      int execute(String hql, Object... args) throws TopiaException
      Execute HQL operation on data (Update, Delete).
      Parameters:
      hql - la requete a faire
      args - les arguments de la requete
      Returns:
      The number of entities updated or deleted.
      Throws:
      TopiaException - if any exception
    • add

      void add(TopiaEntity e) throws TopiaException
      Permet d'ajouter dans le TopiaContext une TopiaEntity créé par un autre context.
      Parameters:
      e - l'entity a ajouter
      Throws:
      TopiaException - if any exception
    • replicate

      void replicate(TopiaContext dstCtxt, Object... entityAndCondition) throws TopiaException, IllegalArgumentException
      Permet de dupliquer de ce context vers un context d'une autre base des données sans modification des entites. Note: Si le parametre entityAndCondition est vide, alors on duplique toutes les entités de la base. Note 2: Il se peut que la replication simple ne soit pas suffisante (par example si l'on veut repliquer q'une partie d'une entité), on utilisera donc la seconde méthode replicateEntities(TopiaContext, List).
      Parameters:
      dstCtxt - le context de la base destination
      entityAndCondition - paramètre qui vont par deux, qui represente la classe de l'entity a exporter et la condition where que doit respecter l'objet pour etre exporter (entityClass, condition)
      Throws:
      TopiaException - si une erreur pendant la duplication
      IllegalArgumentException - si l'un des context n'est pas ouvert, ou si on essaye de dupliquer dans la même base.
    • replicateEntity

      <T extends TopiaEntity> void replicateEntity(TopiaContext dstCtxt, T entity) throws TopiaException, IllegalArgumentException
      Permet de dupliquer une entité du type donné vers un autre context.
      Type Parameters:
      T - le type des entités à répliquer
      Parameters:
      dstCtxt - le context de la base destination
      entity - l'entité à répliquer
      Throws:
      TopiaException - si une erreur pendant la duplication
      IllegalArgumentException - si l'un des context n'est pas ouvert, ou si on essaye de dupliquer dans la même base.
    • replicateEntities

      <T extends TopiaEntity> void replicateEntities(TopiaContext dstCtxt, List<T> entities) throws TopiaException, IllegalArgumentException
      Permet de dupliquer les entités du type donné vers un autre context.
      Type Parameters:
      T - le type des entités à répliquer
      Parameters:
      dstCtxt - le context de la base destination
      entities - les entités à répliquer
      Throws:
      TopiaException - si une erreur pendant la duplication
      IllegalArgumentException - si l'un des context n'est pas ouvert, ou si on essaye de dupliquer dans la même base.
    • backup

      void backup(File file, boolean compress) throws TopiaException
      Sauve la base de données dans un format natif a la base, la representation n'est pas portable d'une base a l'autre. Cette methode ne doit être utilisé que pour un stockage temporaire utile à une application.
      Parameters:
      file - le nom du fichier ou stocker les informations
      compress - si vrai compress le fichier avec gzip
      Throws:
      TopiaException - if any exception
    • clear

      void clear(boolean dropDatabase) throws TopiaException
      Supprime toutes les tables et autres elements de la database.
      Parameters:
      dropDatabase - si vrai alors supprime aussi la base de données si la base utilise des fichiers les fichiers seront supprimé (ex: h2) ou sera fait sur la base (postgresql)
      Throws:
      TopiaException - if any exception
    • clearCache

      void clearCache() throws TopiaException
      Clear persistence implementation cache.
      Throws:
      TopiaException
      Since:
      2.6.13
    • restore

      void restore(File file) throws TopiaException
      l'inverse de la methode backup(File,boolean).
      Parameters:
      file - le fichier ou prendre les informations, il peut-etre compressé avec gzip ou non.
      Throws:
      TopiaException - if any exception
    • closeContext

      void closeContext() throws TopiaException
      Ferme le contexte.
      Throws:
      TopiaException - if any exception
    • isClosed

      boolean isClosed()
      Indique si le contexte a ete ferme.
      Returns:
      true si le context est ferme, false autrement
    • executeSQL

      void executeSQL(String sqlScript) throws TopiaException
      Execute a given sql code inside this transaction.
      Parameters:
      sqlScript - the sql script to execute
      Throws:
      TopiaException - if any problem occurs while executing the sql script.