Scripted Methods and Objects

You can declare and use methods in BeanShell, just as you would inside a Java class:

int addTwoNumbers( int a, int b ) {
    return a + b;
}

sum = addTwoNumbers( 5, 7 );  // 12

BeanShell methods may also have dynamic (loose) argument and return types.
add( a, b ) {
    return a + b;
}

foo = add(1, 2);                // 3
foo = add("Hello ", "Kitty");   // "Hello Kitty"

In BeanShell, as in JavaScript and Perl, method closures take the place of scripted objects. You can turn the results of a method call into an object reference by having the method return the special value this. You can then use the this reference to refer to any variables which were set during the method call. An object is useful only if it has methods; so in BeanShell, methods may also contain methods at any level. Here is a simple example:

foo( ) {
    print("foo");
    x=5;

    bar( ) {
        print("bar");
    }

    return this;
}

myfoo = foo( );    // "foo"
print( myfoo.x ); // "5"
myfoo.bar( );      // "bar"
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset