Notion de Pipeline > Le SiteMap > Les composants
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  


retour haut de page
:: Olivier Mayaud - © 2004 ::