|
Le fonctionnement du framework repose principalement sur l'utilisation des méthodes getXXX()/ setXXX().
De plus l'utilisation d'un fichier XML de mapping permet de décrire la façon dont seront traitées les données par Castor
Enfin le fichier de configuration du framework Castor est le fichier castor.properties
|
Castor XML est un framework de databinding XML données. Contrairement aux deux principales API de gestion du XML, à savoir DOM (Document Object Model) et SAX (Simple Api for XML), qui doivent gérer la structure du document Xml ;Castor permet de gérer les données définies dans un document XML à travers une classe d'objet qui représente ces données.
Castor peut quasiment transformer n'importe quel type d'objet Java en Xml, et inversement. Le framework de transformation, encore appelé marshall, fonctionne grâce aux descripteurs de classes et aux descripteurs de champs pour décrire la façon dont la transformation Java-XMl et Xml-Java doit avoir lieu.
Les termes marshall et unmarshall qui vont être utilisés dans le reste de cette présentation font simplement allusion à la conversion d'un flux de donnée, une séquence d'octets, depuis et vers un objets. Marshall = conversion d'un objet vers un flux. UnMarshall = conversion d'un flux vers un objet.
Ce qu'il faut savoir du framework de conversion c'est qu'il est composé de deux classes principales, org.exolab.castor.xml.Marshaller et org.exolab.castor.xml.Unmarshaller.
Exemple d'utilisation de Castor XMLUn fichier de mapping XML, qui donne une description du point de vue de l’objet Java, permet de configurer le comportement de Castor XML
Castor peut également jouer le rôle d'un générateur de code source. Pour celà il doit mapper une instance d’un schéma XML dans le modèle d’objet approprié (ensemble de classes et types qui représentent la donnée). La génération des packages s'effectue par lignes de commande.
On utilise alors un fichier .xsd pour le mapping XML
|
Contrairement à ce que semble indiquer son nom, Castor-JDO est un framework de persistance qui ne respecte pas la norme JDO. Il utilise la réflexivité de Java pour accéder (en lecture ou écriture) à l'état des objets métiers persistants.
Castor permet la configuration de la source de données via des connecteurs pour plusieurs SGBDR que la framework inclu.
Il permet aussi la configuration du mapping entre le modèle objet et le modèle relationnel.
Il fonctionne aussi bien Applications clients et serveurs J2EE.
Pour la récupération d'objet, Castor JDO peut procéder de deux façons.
Soit par l'appel à la méthode Database::load (telleClasse, clé)
Soit par requête Castor OQL, semblable à des requêtes SQL.
Un objet y est représenté par un élément class
L’élément map-to l’associe à une table de la base de données relationnelle
Les éléments field définissent les mappings table/champ-classe/attribut.