Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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 }