| Interface | Description |
|---|---|
| TopiaContext | Deprecated |
| TopiaDaoSupplier | |
| TopiaHibernateSupport |
This API provides methods to interact with Hibernate
|
| TopiaJpaSupport |
This API provides methods to use persistence using JPA queries
|
| TopiaListenableSupport |
This API provides methods to add/remove any kind of listener
|
| TopiaPersistenceContext |
This API provides all methods related to persistence :
Generic entity find
DAO factory
Schema management
|
| TopiaReplicationDestination |
Represent the destination of a replciation process.
|
| TopiaReplicationSupport |
This API provides methods about entities replication to a destination
|
| TopiaServiceSupport |
This API provides methods to manipulate services
|
| TopiaSqlSupport |
This API provides methods to run SQL queries
|
| TopiaTransaction |
This API provides methods to manipulate transaction
|
| Class | Description |
|---|---|
| AbstractTopiaApplicationContext<K extends TopiaPersistenceContext> |
The application context is the main class in ToPIA usage.
|
| AbstractTopiaPersistenceContext |
Abstract implementation of the TopiaPersistenceContext.
|
| HibernateProvider | |
| HibernateTopiaJpaSupport |
This class is the Hibernate implementation of TopiaJpaSupport.
|
| HibernateTopiaReplicationSupport | |
| HibernateTopiaSqlSupport | |
| HibernateTopiaSqlSupport.SQLWork | |
| TopiaContextFactory |
TODO-FD20100507 : Need javadoc + translate the one on methods.
|
| TopiaServiceSupportImpl |
FIXME AThimel 11/10/13 All this life-cycle has to be reviewed
|
| Exception | Description |
|---|---|
| QueryMissingOrderException |
If you get this exception, it means that you asked topia
to make an operation that need a deterministic way to sort the
result but you didn't defined such query.
|
| TopiaException |
Main exception for any Topia error
Created: 23 déc.
|
| TopiaNonUniqueResultException |
Exception raised when a query returns more than one result while it was
expected to return only one (or no result).
|
| TopiaNoResultException |
Exception raised when a query returned no result while at least one
result was expected.
|
| TopiaNotFoundException |
Exception thrown if one of the entry from the configuration is missing at runtime
Created: 23 déc.
|
| TopiaQueryException |
Exception raised when an error occur in the context of a
particular query.
|
| TopiaRuntimeException | Deprecated
since 3.0, to be replaced by TopiaException
|
| TopiaVetoException |
Exception thrown when something went wrong during event firing
Created: 5 janv.
|
ToPIA est un framework de persistence basé sur Hibernate. Il contient un point d'entré le TopiaContext qui permet d'ouvrir des transactions qui retourne des TopiaContext fils sur lequel on peut récupéré des DAO pour accèder aux entités.
ToPIA offre en plus la possibilité de générer à partir d'une fichier XMI toutes les classes utiles pour la persistence. Ce qui permet d'évité un travail fastidieux d'ecriture de classe, d'être sur que le jour on l'on veut ajouter une méthode technique (getXML, ...) à toutes ces entités cela sera fait de façon simple et automatique (modification du générateur puis regénération). Et surtout d'avoir des classes générés qui permettent un typage fort de l'application (pas de cast, pas de générique)
Bien sur il est possible d'utilisé ToPIA sans générateur, il est d'ailleurs utilisé ainsi pour les tests
ToPIA contient aussi des classes techniques réutilisables dans ses applications pour tout ce qui touche à l'authentification et l'autorisation (TopiaUser, TopiaGroup, TopiaPermission) (partie non encore développé)
La persistence se base complètement sur hibernate, mais il est aussi possible d'indiquer que certaine classe doivent être sauvé dans des fichiers textes plutot qu'une base de données, cette persistence est appelée FlatFile.
Le TopiaContext doit être configuré avec un objet Properties. Celui-ci peut contenir différentes entrées. Vu que la persistence est complètement basé sur hibernate, même si vous n'avez que des entités sauvé en FlatFile il vous faudra fournir à hibernate un accès à une base de données. Celle-ci peu très bien être une base embarqué comme hsql, mckoi ou derby.
à la place flatfile il est possible de mettre le FQN du DAO utilisé par exemple org.nuiton.topia.persistence.flatfile.TopiaDAOFlatFile
Si directory est absent alors "." est utilisé
les mappings s'écrivent de la façon suivant:
Si key est absent alors on utilise le topiaId, key est utilisé comme nom de fichier de sauvegarde
Si body est absent alors on utilise un fichier de propriété pour sauver l'entity. Si body est présent seul cet attribut sera sauvé.
topia.dao.flatfile.mapping.key=topiaId
topia.dao.flatfile.mapping.fr.ifremer.isisfish.entities.Script.key=name
topia.dao.flatfile.mapping.fr.ifremer.isisfish.entities.Script.body=script
Copyright © 2004–2013 CodeLutin. All rights reserved.