Trois classes principales sont pour l'instant supportées : CGI, Email et HTML. Je pense y ajouter des classes capables de gérer des entrées et des sorties formatées en MIME (respectivement MIMEin & MIMEout).
Quelques classes de test et de support sont également disponibles :
CGI_Test,
Email_Test et
HTML_Test doivent permettre
de tester votre installation. Elles peuvent aussi servir de point de
départ à vos propres programmes Java basés sur cette bibliothèque de
classes. La classe
Text est une superclasse
des classes Email
et HTML
.
public class CGI
La classe CGI détient les "informations SGI" : les valeurs
d'environnement initialisées par le serveur Web ainsi que le nom et
la valeur issus du formulaire quand l'action submit est
sélectionnée. Toutes les informations sont stockées dans un objet de
classe Properties
.
Cette classe se trouve dans le package "Orbits.net".
CGI() // Constructeur. getNames() // Recupere la liste de noms. getValue() // Recupere la valeur a partir du nom.
CGI_Test
.
Construit un objet contenant les données CGI disponibles.
public CGI()
Lorsqu'un objet CGI est construit, toutes les informations CGI disponibles sont récupérées et stockées dans le nouvel objet.
Dresse la liste des noms définis par le formulaire.
public Enumeration getNames ()
Fournit la liste complète des noms pour lesquels des valeurs correspondantes ont été définies.
Une Enumeration
de tous les noms définis.
Récupère la valeur associée au nom spécifié.
public String getValue ( String nom )
Cette méthode fournit la correspondance entre les
noms
et les valeurs
envoyées depuis un formulaire
HTML.
La clé par laquelle les valeurs sont choisies.
Une String
contenant la valeur.
Cette classe fournit à la fois un exemple d'utilisation de la classe CGI, et un programme de test, qu'on pourra utiliser pour confirmer que le package Java CGI fonctionne correctement.
main() // main() du programme
CGI
.
Fournit une méthode main()
.
public static void main( String argv[] )
Il s'agit du point d'entrée d'un programme CGI qui ne fait rien à part retourner la liste des couples nom/valeur.
Arguments passés au programme par le script
java.cgi
.
Non utilisé pour l'instant.
public class Email extends Text
Les messages sont construits au moyen des méthodes add*()
de
la classe Text
et les méthodes spécifiques au courrier
électronique fournies par cette classe. Une fois composé, le message
est envoyé vers sa destination finale.
Cette classe se trouve dans le package "Orbits.net".
Email() // Constructeur send() // Envoie le message e-mail sendTo() // Ajoute une destination au message subject() // Initialise le champ Subject: du message
Email_Test, Text
.
Construit un objet qui contiendra un message électronique.
public Email()
Crée un message vide qui sera rempli par les méthodes Email.
Text
.
Envoie le message e-mail.
public void send ()
Formatage et envoi du message. Si aucune adresse de destination n'a été précisée, ne fait rien.
Ajoute une destination pour ce message.
public String sendTo ( String adresse )
Ajoute adresse
à la liste des
destinations pour cette méthode. Il n'existe pas de limite a
priori pour le nombre de destinations d'un message e-mail. Je
suis sûr qu'avec une liste assez grande, on peut dépasser la taille
acceptable pour le Mail Transport Agent, voire la mémoire
disponible sur votre système.
Une destination à laquelle envoyer ce message.
Initialise le sujet du message.
public void subject ( String sujet )
Cette méthode remplit le champ
Subject:
du message. Si elle est appelée plusieurs fois,
le sujet utilisé sera le dernier demandé.
Le texte du champ Subject:
du message.
Cette classe fournit à la fois un exemple d'utilisation de la classe
Email
et un programme de test qu'on pourra utiliser pour
s'assurer que le package Java CGI fonctionne correctement.
main() // main() du programme
Email
.
Fournit une méthode main()
.
public static void main( String argv[] )
Il s'agit du point d'entrée d'un programme CGI qui
retourne une liste des couples nom/valeur disponibles. Cette liste
sera également envoyée à l'adresse spécifiée dans la variable
Email
.
Arguments passés au programme par le script
java.cgi
. Non utilisé pour l'instant.
public class HTML extends Text
Les messages sont créés à l'aide des méthodes add*()
de la
classe Text
et des méthodes spécifique au HTML ajoutées par
cette classe. Une fois terminé, le message est envoyé.
Aucun test n'est effectué pour l'instant pour s'asurer que les méthodes de construction de liste sont utilisées dans le bon ordre. C'est donc au programmeur de faire attention à ne pas violer la syntaxe HTML.
Cette classe se trouve dans le package "Orbits.net".
HTML() // Constructeur. author() // Initialise le nom de l'auteur du document. definitionList() // Cree une liste de definitions. definitionListTerm() // Ajoute un terme a la liste de definitions. endList() // Termine une liste. listItem() // Ajoute une entree a une liste. send() // Envoie le message HTML. title() // Initialise le titre du document.
HTML_Test, Text
.
Construit un objet qui contiendra un message HTML.
public HTML()
Crée un message vide qui sera rempli par les méthodes HTML.
Text
.
Initialise le nom de l'auteur du document.
public void author ( String auteur )
Donne au document un nom d'auteur ayant pour
valeur author
.
Texte à utiliser en tant que nom d'auteur du message.
title()
.
Crée une liste de définitions.
public void definitionList ()
Initialise une liste de définition. Une liste
de définitions est une liste spécialisée telle que chaque
entrée de la liste soit un terme suivi du texte
correspondant à la définition de ce terme. La création d'une liste
de définitions doit être suivie par celle d'au moins un couple
terme/texte, et d'un appel à la méthode endList()
.
Notons que, pour le moment, les listes ne peuvent pas être
imbriquées.
definitionListTerm()
, endList()
,
listItem()
.
Ajoute un terme à la liste de définitions.
public void definitionListTerm ()
Ajoute un terme à la liste de définitions. Le texte
définissant le partie terme de l'entrée courante de la liste devra
être inséré dans le message après l'appel de cette méthode, et
avant qu'une méthode listItem
correspondante soit appelée.
definitionList()
, listItem()
.
Termine une liste.
public void endList ()
Cette méthode permet de clore une liste. Notons que, pour le moment, les listes ne peuvent pas être imbriquées.
definitionList()
.
Ajoute une entrée à une liste.
public void listItem ()
public void listItem ( String article )
public boolean listItem ( String terme, String article )
Ajoute une entrée à une liste. Si la première
forme est utilisée, le texte de l'article de liste courant devra
être ajouté au message après l'appel de cette méthode, et avant tout
autre appel à des méthodes de liste. Dans la deuxième et troisième
forme, le texte
article
est passé comme paramètre à la méthode, au lieu (ou
en plus) d'être ajouté au message. La troisième forme est spécifique
aux listes de définitions et fournit à la fois le terme et la
définition de l'entrée de liste.
Le texte de cette entrée de liste de définitions.
Le texte de la partie terme de cette entrée de liste de définitions.
definitionList()
,
definitionListTerm()
,
endList()
.
Envoie le message HTML.
public void send ()
Envoie le message HTML.
Donne une valeur au titre du document.
public void title ( String titre )
Initialise le texte du titre du document.
Le texte du titre de ce message.
author()
.
Cette classe offre à la fois un exemple d'utilisation de la classe
HTML
et un programme de test qui peu servir à s'assurer que
le package Java CGI fonctionne correctement.
main() // main() du programme.
HTML
.
Fournit une méthode main()
.
public static void main( String argv[] )
Il s'agit du point d'entrée pour un programme CGI qui retourne une liste des couples nom/valeur d'un document HTML, chaque couple étant un élément d'une liste de définitions.
Arguments passés au programme par le script
java.cgi
Non utilisé pour l'instant.
public abstract class Text
Cette classe est la superclasse des classes Email
et
HTML
. Les messages sont construits à l'aide des méthodes de
cette classe, puis complétés et formatés grâce aux méthodes des
sous-classes.
Cette classe se trouve dans le package "Orbits.text".
Text() // Constructeur. add() // Ajoute du texte a cet objet. addLineBreak() // Ajoute une rupture de ligne. addParagraph() // Ajoute une rupture de paragraphe.
Email
, HTML
.
Ajoute du texte à cet article
public void add ( char ajout )
public void add ( String ajout )
public void add ( StringBuffer ajout )
Ajoute le texte ajout
à la suite du
contenu de cet article.
Texte à ajouter.
addLineBreak()
, addParagraph()
.
Force une rupture de ligne à cet endroit dans le texte.
public void addLineBreak ()
Insère une rupture de ligne dans le texte, à l'endroit du point courant.
add()
, addParagraph()
.
Débute un nouveau paragraphe.
public void add ()
Débute un nouveau paragraphe à ce point du flot textuel.
add()
, addLineBreak()
.