home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / jpl / Test / Test.jpl < prev   
Encoding:
Text File  |  1999-09-14  |  3.0 KB  |  123 lines

  1. import java.util.*;
  2.  
  3. public class Test {
  4.  
  5.     int myint = 123;
  6.     double mydouble = 3.14159265;
  7.     String mystring = "my string";
  8.     static String ourstring = "our string";
  9.     static boolean embedded = false;
  10.     int array[] = {1,2,3};
  11.     Vector v;
  12.  
  13.     public Test() {
  14.  
  15.  
  16.     v = new Vector();
  17.     v.addElement("Hello");
  18.     printfields();
  19.     Vector x = perlTryVec(v);
  20.     x.addElement("World");
  21.     Vector y = perlTryVec(x);
  22.     if (!embedded) System.err.println("Thank you, perlTryVec!");
  23.  
  24.     if (!embedded) System.err.println(retchars());
  25.     if (!embedded) System.err.println("Thank you, retchars!");
  26.  
  27.     String[] s = retstrings();
  28.     if (!embedded) System.err.println(s[0] + s[1] + s[2] + s[3]);
  29.     if (!embedded) System.err.println("Thank you, retstrings!");
  30.  
  31.     Object[] o = retobjects(v, x, y);
  32.     if (!embedded) System.err.println(o[1]);
  33.     if (!embedded) System.err.println(o[3]);
  34.     if (!embedded) System.err.println(o[4]);
  35.     if (!embedded) System.err.println("Thank you, retobjects!");
  36.  
  37.     passarray(s);
  38.  
  39.     if (!embedded) System.err.println(s[0] + s[1] + s[2] + s[3]);
  40.     if (!embedded) System.err.println("Thank you, passarray!");
  41.  
  42.     printfields();
  43.     if (!embedded) System.err.println("Thank you, printfields!");
  44.     setfields();
  45.     if (!embedded) System.err.println("Thank you, setfields!");
  46.     printfields();
  47.     if (!embedded) System.err.println("Thank you, printfields!");
  48.     }
  49.  
  50.     perl Vector perlTryVec(Vector v) throws RuntimeException {{
  51.     print "v is: $v\n";
  52.     print "v isa: ", ref $v,"\n";
  53.  
  54.     print "In perlTryVec() - Vector size is: ", $v->size([],['int']), "\n";
  55.     @foo = times;
  56.     $size ||= getmeth('size', [], ['int']);
  57.     for ($i = 10000; $i; --$i) {
  58.         $x = $v->$size();
  59.     }
  60.     @bar = times;
  61.     printf "%5.2fu %5.2fs\n", $bar[0] - $foo[0], $bar[1] - $foo[1];
  62.     return $v;
  63.     }}
  64.  
  65.     perl char[] retchars() {{
  66.     print "In retchars()\n";
  67.     return [65,66,67];
  68.     }}
  69.  
  70.     perl String[] retstrings() {{
  71.     print "In retstrings()\n";
  72.     return [1,2,3,"many"];
  73.     }}
  74.  
  75.     perl Object[] retobjects(Vector v, Vector x, Vector y) {{
  76.     print "In retstrings()\n";
  77.     return [$v, $x, $y, "this is only a test", 123];
  78.     }}
  79.  
  80.     perl void passarray(String[] s) {{
  81.     print "In passarray()\n";
  82.     print "s = $s\n";
  83.     $t = GetObjectArrayElement($s,3);
  84.     print "t = $t\n";
  85.     $x = GetStringUTFChars($t);
  86.     print "$x\n";
  87.     $t = SetObjectArrayElement($s,3,NewStringUTF("infinity"));
  88.     }}
  89.  
  90.     perl void printfields() {{
  91.  
  92.     $| = 1;
  93.     eval {print $self->v->toString____s(), "\n";};
  94.     print $@ if $@;
  95.  
  96.     print $self->myint, "\n";
  97.     print $self->mydouble, "\n";
  98.     print $self->mystring, "\n";
  99.     print JPL::Test->ourstring, "\n";
  100.  
  101.     @nums = GetIntArrayElements($self->array());
  102.     print "@nums\n";
  103.  
  104.     @nums = unpack("i*", scalar GetIntArrayElements($self->array()));
  105.     print "@nums\n";
  106.     }}
  107.  
  108.     perl void setfields() {{
  109.     $self->myint(321);
  110.     $self->mydouble(2.7182918);
  111.     $self->mystring("MY STRING!!!");
  112.     JPL::Test->ourstring("OUR STRING!!!");
  113.     }}
  114.  
  115.     public static void main(String[] argv) {
  116.     if (java.lang.reflect.Array.getLength(argv) > 0 &&
  117.       argv[0].equals("-nothanks"))
  118.         embedded = true;
  119.     Test f = new Test();
  120.     if (!embedded) System.err.println("Thank you, Test!");
  121.     }
  122. }
  123.