File: PerlObject.java

package info (click to toggle)
libinline-java-perl 0.58~dfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 964 kB
  • ctags: 684
  • sloc: perl: 4,717; java: 2,844; makefile: 35
file content (44 lines) | stat: -rw-r--r-- 1,404 bytes parent folder | download
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
import org.perl.inline.java.*;

// Metodklass som anvnds av Java!
public class PerlObject extends InlineJavaPerlCaller {
    String perlName;
    // Konstruktor
    public PerlObject(String perlName) throws InlineJavaException {
        this.perlName = perlName;
    }
    // Metod fr att kalla p Perlobjektens egna metoder.
	public Object method (String methodName) {
	    try {
                Object ret = CallPerl( "main", "perlMethods", new Object[] {perlName, methodName} );
		return ret == null ? new Integer(1) : ret;
            }
	    catch (Exception e) {
                return new Integer(-1);
            }
	}
	public Object method (String methodName, Object arg) {
	    try {
                Object ret = CallPerl( "main", "perlMethods", new Object[] {perlName, methodName, arg} );
		return ret == null ? new Integer(1) : ret;
            }
	    catch (Exception e) {
                return new Integer(-1);
            }
	}
    public Object method (String methodName, Object arg[]) {
        try {
			Object[] perlArg = new Object [arg.length+2];
			perlArg[0] = perlName;
			perlArg[1] = methodName;
			for (int i = 0; i < arg.length; i++) {
		    	perlArg[i+2] = arg[i];
			}
            Object ret = CallPerl( "main", "perlMethods", perlArg );
			return ret == null ? new Integer(1) : ret;
	    }
        catch (Exception e) {
            return new Integer(-1);
        }
    }
}