Source code: com/diaam/lgpl/script/Interpretable.java
1 /*
2 * $Log: Interpretable.java,v $
3 * Revision 1.1 2000/11/10 15:31:30 vonarnim
4 * - deplacement (et nouvelle version) de TerminalStandard dans ctulu
5 *
6 * Revision 1.1 1999/11/13 19:53:47 Herve_AGNOUX
7 * Initial revision
8 *
9 */
10 /*
11 -- TerminalStandard v111999
12
13 Fichier : TerminalStandard.java
14 Auteur : Hervé AGNOUX, hagnoux@mail.club-internet.fr
15 License LGPL.
16 */
17 package com.diaam.lgpl.script;
18
19 /**
20 * Cet interface permet à une application d'exposer les objets
21 * qu'elle veut à un interpreteur.
22 * L'application lance d'abord un objet qui concrétise cette interface,
23 * puis lui expose les objets qu'elle souhaite, puis lance
24 * l'interpréteur.
25 * A partir de là, l'interpreteur peut faire ce qu'il veut avec les objets
26 * exposés.
27 * @author <a href="h_agnoux.html">Hervé AGNOUX</a>,
28 * hagnoux@mail.club-internet.fr
29 * @version 111999
30 */
31 public interface Interpretable
32 {
33 /**
34 * Pour exposer un objet à l'interpreteur. Une fois que
35 * l'application a exposer cet objet à l'interpreteur
36 * le script est normalement libre de faire ce qu'il veut avec
37 * cet objet.
38 *
39 * @param nom Un nom que l'appli suggère à l'interpréteur pour
40 * repérer cet objet.
41 * @param lui L'objet que l'appli expose à l'interpreteur.
42 */
43 public void ajouteObjet(String nom, Object lui);
44
45
46 /**
47 * Une méthode surtout pour la beauté intellectuelle, je ne sais
48 * pas si elle est utilisable, ni même s'il est préférable de
49 * passer le nom de l'objet ou sa référence... Normalement,
50 * son but est de dire à l'interpreteur que l'objet qui a tel nom
51 * n'est plus disponible.
52 *
53 * @param nom le nom de l'objet.
54 */
55 public void effaceObjet(String nom);
56
57 /**
58 * Le script se lance en utilisant les ports standards de l'appli.
59 */
60 public void doWithStandardsStreams();
61
62 /**
63 * Le script se lance en utilisant les ports stipulés dans ways.
64 * @param ways les ports
65 * @param withUser si 'true', le script est interactif.
66 */
67 public void doDirectly(TextWays ways, boolean withUser);
68 }