public void cmdProc()

in src/main/java/org/apache/bsf/engines/jacl/BSFCommand.java [41:107]


  public void cmdProc (final Interp interp,
               final TclObject argv[]) throws TclException {
    if (argv.length < 2) {
      interp.setResult ("invalid # of args; usage: bsf " +
        "lookupBean|registerBean|unregisterBean|addEventListener args");
      throw new TclException (TCL.ERROR);
    }

    final String op = argv[1].toString ();

    if (op.equals ("lookupBean")) {
      if (argv.length != 3) {
    interp.setResult ("invalid # of args; usage: bsf " +
              "lookupBean name-of-bean");
    throw new TclException (TCL.ERROR);
      }

      final String beanName = argv[2].toString ();
      final Object bean = mgr.lookupBean (beanName);
      if (bean == null) {
    interp.setResult ("unknown object: " + beanName);
    throw new TclException (TCL.ERROR);
      }
      interp.setResult (ReflectObject.newInstance (interp, bean.getClass (),
                           bean));

    } else if (op.equals ("registerBean")) {
      if (argv.length != 4) {
    interp.setResult ("invalid # of args; usage: bsf " +
              "registerBean name-of-bean bean");
    throw new TclException (TCL.ERROR);
      }
      mgr.registerBean (argv[2].toString (),
            ReflectObject.get (interp, argv[3]));
      interp.setResult ("");

    } else if (op.equals ("unregisterBean")) {
      if (argv.length != 3) {
    interp.setResult ("invalid # of args; usage: bsf " +
              "unregisterBean name-of-bean");
    throw new TclException (TCL.ERROR);
      }
      mgr.unregisterBean (argv[2].toString ());
      interp.setResult ("");

    } else if (op.equals ("addEventListener")) {
      if (argv.length != 6) {
    interp.setResult ("invalid # of args; usage: bsf " +
              "addEventListener object event-set-name filter " +
              "script-to-run");
    throw new TclException (TCL.ERROR);
      }
      try {
    // usage: bsf addEventListener object event-set filter script
    String filter = argv[4].toString ();
    filter = filter.equals ("") ? null : filter;
    EngineUtils.addEventListener (ReflectObject.get (interp, argv[2]),
                      argv[3].toString (), filter,
                      jengine, mgr, "<event-script>", 0, 0,
                      argv[5].toString ());
      } catch (final BSFException e) {
    e.printStackTrace ();
    interp.setResult ("got BSF exception: " + e.getMessage ());
    throw new TclException (TCL.ERROR);
      }
    }
  }