File: runme.java

package info (click to toggle)
swig 4.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 46,232 kB
  • sloc: cpp: 54,631; ansic: 29,122; java: 17,530; python: 12,505; cs: 10,369; ruby: 7,232; yacc: 6,477; makefile: 5,965; javascript: 5,520; sh: 5,415; perl: 4,187; php: 3,693; ml: 2,187; lisp: 2,056; tcl: 1,991; xml: 115
file content (63 lines) | stat: -rw-r--r-- 2,568 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// This example shows simple usage of the wrapped Shape classes.
// The main purpose of this example is to show the doxygen comments translation to JavaDoc comments.
// Users should look at the generated .java files and if javadoc is installed and working on your system,
// the generated Java docs can be viewed in a browser by opening the javadocs/index.html file.

import java.io.*;

public class runme {
  static {
    try {
        System.loadLibrary("example");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[]) throws InterruptedException, IOException
  {
    System.out.println("Creating some objects:");
    Circle c = example.MakeCircle(10);
    System.out.println("    Created circle " + c);
    Square s = example.MakeSquare(10);
    System.out.println("    Created square " + s);
    RectangleInt r = example.MakeRectangleInt(10, 20);
    System.out.println("    Created rectangle " + r);

    System.out.println("\nHere are some properties of the shapes:");
    Shape[] shapes = {c, s, r};
    for (int i=0; i<shapes.length; i++) {
      System.out.println("   " + shapes[i].toString());
      System.out.println("        area      = " + shapes[i].area());
      System.out.println("        perimeter = " + shapes[i].perimeter());
    }

    String[] command = {"javadoc", "-quiet", "-public", "-d", "javadocs", "example.java", "Shape.java", "Circle.java", "Square.java", "RectangleInt.java"};
    System.out.println("\nRunning: " + String.join(" ", command));
    Process p = Runtime.getRuntime().exec(command);
    int exitCode = p.waitFor();
    System.out.println("javadoc exited with code " + exitCode);

    BufferedReader stdout = new BufferedReader(new InputStreamReader(p.getInputStream()));
    BufferedReader stderr = new BufferedReader(new InputStreamReader(p.getErrorStream()));

    String line = null;

    System.out.println("stdout from javadoc:\n");
    while ((line = stdout.readLine()) != null) {
      System.out.println(line);
    }

    System.out.println("\nstderr from javadoc:\n");
    while ((line = stderr.readLine()) != null) {
      System.out.println(line);
    }

    if (exitCode != 0) {
      System.out.println("No java docs were generated!\n");
    } else {
      System.out.println("javadoc ran successfully, open javadocs/index.html in your browser to view the generated java docs.");
    }
  }
}