Source code: com/diaam/lgpl/applications/ScriptsStream.java
1 /*
2 * $Log: ScriptsStream.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/15 15:21:23 Herve_AGNOUX
7 * Initial revision
8 *
9 *
10 */
11 /*
12 -- TerminalStandard v111999
13
14 Fichier : TerminalStandard.java
15 Auteur : Hervé AGNOUX, hagnoux@mail.club-internet.fr
16 License LGPL.
17 */
18
19 package com.diaam.lgpl.applications;
20
21 import java.beans.BeanDescriptor;
22 import java.beans.BeanInfo;
23 import java.beans.Introspector;
24 import java.util.Enumeration;
25 import java.util.Hashtable;
26 import java.util.Properties;
27
28 import javax.swing.JFrame;
29 import javax.swing.SwingUtilities;
30
31 import com.diaam.lgpl.script.Interpretable;
32 import com.diaam.lgpl.script.TextWays;
33 import com.diaam.lgpl.ts.TerminalStandard;
34
35 /**
36 * Cette classe est une simple application pour montrer l'utilisation
37 * de scripts avec TerminalStandard.
38 * @author <a href="h_agnoux.html">Hervé AGNOUX</a>,
39 * hagnoux@mail.club-internet.fr
40 * @version 111999
41 * @see com.diaam.lgpl.ts.TerminalStandard
42 */
43 public class ScriptsStream
44 {
45 /**
46 * Utilise la propriété système "script" pour connaitre la classe
47 * de script à lancer. Utilise le BeanInfo correspondant pour le
48 * descriptif.
49 * @param args non utilisé.
50 * @see com.diaam.lgpl.realscripts.ForPnuts
51 * @see com.diaam.lgpl.realscripts.ForSkij
52 * @exception Exception par ce que je suis feneant.
53 */
54 public static void main(String args[]) throws Exception
55 {
56 String s;
57 TerminalStandard ts;
58 JFrame jf;
59 BeanInfo bi;
60 BeanDescriptor bd;
61 final Class c;
62 final Interpretable i;
63
64 s = System.getProperty("script");
65 if (s == null)
66 {
67 System.out.println
68 ("Veuillez indiquer avec une propriete le langage de script\n"+
69 "a utiliser SVP.\n"+
70 "Ex : java -Dscript=com.diaam.lgpl.realscripts.ForPnuts\n"+
71 "\tcom.diaam.lgpl.applications.ScriptStream\n");
72 System.exit(0);
73 }
74 c = Class.forName(s);
75 ts = new TerminalStandard();
76 bi = Introspector.getBeanInfo(c);
77 bd = bi.getBeanDescriptor();
78 jf = TerminalStandard.enAppli(ts);
79 // en esperant qu'il n'y ait pas d'erreur entre la...
80 if (bd == null)
81 jf.setTitle("script avec '"+c.getName()+"'");
82 else
83 {
84 String s1, s2;
85
86 s1 = bd.getName();
87 if (s1 == null)
88 jf.setTitle("script avec '"+c.getName()+"'");
89 else
90 jf.setTitle("script avec '"+s1+"'");
91 s2 = bd.getShortDescription();
92 if (s2 != null)
93 System.out.println(s2);
94 }
95 i = (Interpretable)c.newInstance();
96 i.ajouteObjet("interpretable", i);
97 i.ajouteObjet("ts", ts);
98 Thread t = new Thread(new Runnable(){
99 public void run(){
100 i.doWithStandardsStreams();}});
101 t.start();
102 System.out.println("Avec les streams System.in, System.out et System.err");
103 // et la.
104 jf.show();
105 }
106 }