public Object call()

in src/main/java/org/apache/bsf/engines/javaclass/JavaClassEngine.java [38:62]


  public Object call (final Object object, final String method, final Object[] args)
                                                        throws BSFException {
    // determine arg types
    Class[] argTypes = null;
    if (args != null) {
      argTypes = new Class[args.length];
      for (int i = 0; i < args.length; i++) {
    argTypes[i] = (args[i] != null) ? args[i].getClass () : null;
      }
    }

    // now find method with the right signature, call it and return result
    try {
      final Method m = MethodUtils.getMethod (object, method, argTypes);
      return m.invoke (object, args);
    } catch (final Exception e) {
      // something went wrong while invoking method
      final Throwable t = (e instanceof InvocationTargetException) ?
                ((InvocationTargetException)e).getTargetException () :
                null;
      throw new BSFException (BSFException.REASON_OTHER_ERROR,
                  "method invocation failed: " + e +
                  ((t==null)?"":(" target exception: "+t)), t);
    }
  }