Accès rapide : Matchers - Generators - Serializers - Transformers - Selectors - Actions - Readers
Matchers
Les Matchers permettent de faire l'association entre une URI "virtuelle"
et une série d'instructions définis dans le SiteMap de
Cocoon.
Cocoon effectue les traitements en fonction de la requête du client.
Une requête typique contient une URI, des paramètres, cookies
et autres objets. Cocoon commence donc par évaluer la requête
pour déterminer quels sont les actions à effectuer dans
le SiteMap. Lorsqu'une requête correspond à un matcher
d'un pipeline, le traitement de ce pipeline débute.
Il est important de noter que Cocoon utilise le premier pipeline qu'il
rencontre pouvant répondre à la requête. L'ordre
de définition des pipelines dans le fichier SiteMap est donc
trés important. Les Matchers les plus spécifiques doivent
apparaitre avant les matchers génériques.
Liste des Matchers inclus dans Cocoon :
WildCard URI matcher (défaut) |
|
Regexp URI matcher |
Wildcard request parameter matcher |
Request parameter matcher |
Wildcard session parameter matcher |
Generators
Un Generator est le point d'entrée d'un pipeline XML. Il génére
du contenu XML en tant qu'évenements SAX et initialise le traitement
du pipeline.
Chaque Pipeline commencant par un Generator doit se terminer par un
Serializer
Liste des Generators inclus dans le core de Cocoon :
File Generator ( défaut) |
Request Generator |
Directory Generator |
Server Pages Generator |
Image Directory Generator |
Status Generator |
LinkStatus Generator |
Stream Generator |
Notifying Generator |
XPath Directory Generator |
Liste des Generators nécessitant l'utilisation de modules optionnels
: (suivi du nom du module nécessaire)
Fragment Extractor Generator (Batik) |
HTML Generator (HTML) |
JSP Generator (JSP block) |
MP3 Directory Generator () |
Php Generator (PHP) |
Profile Generator (Profiler) |
Script Generator (BSF) |
Search Generator (Lucene) |
Velocity Generator (Velocity) |
Web Service Proxy Generator (Proxy) |
XML:DB Collection Generator (XMLDB) |
XML:DB Generator (XMLDB) |
Serializers
Un Serializer est la dernière étape d'un pipeline XML.
Il transforme les événements SAX en flux de données
binaires ou de caractères pour le rendu final au client.
Tout pipeline contenant un Generator doit obligatoirement être
terminé par un Serializer.
Dans le sitemap, chaque Serializer à un nom unique qui est associé
à une class Java.
Liste des Serializers inclus dans le core de Cocoon :
HTML Serializer (défaut) | |
XHTML Serializer |
SVG/JPEG Serializer |
XML Serializer |
SVG/PNG Serializer |
Text Serializer |
SVG/TIFF Serializer |
WAP/WML Serializer |
VRML Serializer |
SVG Serializer |
Link Serializer |
SVG/XML Serializer |
Zip archive Serializer |
Liste des Serializers nécessitant l'emploi de modules optionnels
:
PDF Serializer |
PCL Serializer |
PS Serializer |
HSSF (XLS) Serializer |
Transformers
Un transformer est le point central d'un pipeline, il accepte en entrée
des événements SAX et génère en sortie d'autres
événements SAX. Ce type d'architecture permet de faire
tout type de modifications et surtout de faire se succéder plusieurs
Transformers pour arriver au résultats désiré.
Les transformers sont toujours placé dans un pipeline entre un
Generator et un Serializer.
Dans le sitemap, chaque Transformer à un nom unique qui est
associé à une class Java.
Voici une liste des transformers inclus dans le core de Cocoon :
XSLT Transformer (défaut) |
|
Fragment Extractor Transformer |
Write DOM Session Transformer |
I18n Transformer |
XInclude Transformer |
Log Transformer |
CInclude Transformer |
SQL Transformer |
EncodeURL Transformer |
Filter Transformer |
SourceWriting Transformer |
Read DOM Session Transformer |
Augment Transformer |
Liste des Transformers nécessitant des modules optionnels :
LDAP Transformer |
Pattern Transformer |
Lexical Transformer |
Session Transformer |
Parser Transformer |
|
Selectors
Les selectors dans Cocoon ont un rôle semblables aux Matchers
mais ils permettent une plus grande flexibilité.
Les selectors sont conçus pour évaluer des expressions
booléenne simple concernant une partie particulière de
l'environnement (URI, entête ou cookie par exemple). Le resultat
de ces tests permet de déterminer quels sont les traitements
à effectuer dans le pipeline.
Contrairement aux Matchers qui ne permettent que d'executer ou non un
pipeline, les Selectors permettent de construire des selections plus
ComplEx.
Globalement, les Matchers peuvent être considérés
comme de simple "if" tandis que les Selectors correspondent
à un test "if-else if-else" ou encore "switch-case".
Liste des Selectors inclus dans Cocoon :
Browser Selector (défaut) |
|
Host Selector |
Request Attribute Selector |
Parameter Selector |
Request Parameter Selector |
Actions
Les actions permettent de manipuler des paramètres.
Il n'est inclus aucune actions par défaut avec Cocoon, il est
nécessaire d'utiliser des modules optionnels.
Database Actions |
Session Action |
Sendmail Action |
|
Readers
Un Reader est à la fois le point d'entrée et la sortie
d'un pipeline. Il remplace les actions effectués par le Generator,
le Transformer et le Serializer (les trois composants de bases d'un
pipeline).
Les Readers sont trés pratiques pour obtenir du contenu binaire
tel que des images.
Dans le sitemap, chaque Reader à un nom unique qui est associé
à une class Java.
Liste des Readers inclus dans le core de Cocoon :
Resource Reader (Défaut) |
Image Reader |
Liste des Readers nécessitant des modules optionnels :
AxisRPC Reader |
JSP Reader |
Database Reader |
|
|