Package groovy.lang

Examples of groovy.lang.Closure


    }
  }
 
  private void runScript(final SipServletBinding binding, final String script)
  {
    Closure closure = new Closure(_gse)
    {

      @Override
      public Object call()
      {
View Full Code Here


    }

    @Override
    public void setup() {
        prepareEngine();
        Closure fun = (Closure) binding.getVariable("setup");
        if (fun!=null){
            fun.call();
        }
    }
View Full Code Here

//        engine.executeScript("if (!document.getElementById('FirebugLite')){E = document['createElement' + 'NS'] && document.documentElement.namespaceURI;E = E ? document['createElement' + 'NS'](E, 'script') : document['createElement']('script');E['setAttribute']('id', 'FirebugLite');E['setAttribute']('src', 'https://getfirebug.com/' + 'firebug-lite.js' + '#startOpened');E['setAttribute']('FirebugLite', '4');(document['getElementsByTagName']('head')[0] || document['getElementsByTagName']('body')[0]).appendChild(E);E = new Image;E['setAttribute']('src', 'https://getfirebug.com/' + '#startOpened');}");
    }

    @Override
    public void finish() {
        Closure fun = (Closure) binding.getVariable("finish");
        if (fun!=null){
            fun.call();
        }
    }
View Full Code Here

        }
    }

    @Override
    public void ready(Runnable r) {
        Closure fun = (Closure) binding.getVariable("ready");
        if (fun!=null){
            fun.call(r);
        } else {
            super.ready(r);
        }
    }
View Full Code Here

   * Loads a set of given beans
   * @param resources The resources to load
   * @throws IOException
   */
  public void loadBeans(Resource[] resources) throws IOException {
    Closure beans = new Closure(this){
      @Override
      public Object call(Object[] args) {
        return beans((Closure)args[0]);
      }
    };
View Full Code Here

                filterGStringReferences(constructorArgs);
                currentBeanConfig = new DefaultBeanConfiguration(name, null, Arrays.asList(constructorArgs));
                springConfig.addBeanConfiguration(name,currentBeanConfig);
            }
            if(args[args.length-1] instanceof Closure) {
                Closure callable = (Closure)args[args.length-1];
                callable.setDelegate(this);
                callable.setResolveStrategy(Closure.DELEGATE_FIRST);
                callable.call(new Object[]{currentBeanConfig});

            }

            return currentBeanConfig;
        } finally {
View Full Code Here

        return;
      }
      else if(value instanceof Closure) {
        BeanConfiguration current = currentBeanConfig;
        try {
          Closure callable = (Closure)value;

          Class parameterType = callable.getParameterTypes()[0];
          if(parameterType.equals(Object.class)) {
            currentBeanConfig = springConfig.createSingletonBean("");
            callable.call(new Object[]{currentBeanConfig});
          }
          else {
            currentBeanConfig = springConfig.createSingletonBean(parameterType);
            callable.call(null);
          }

          value = currentBeanConfig.getBeanDefinition();
        }
        finally {
View Full Code Here

        binding.setProperty("jenkins", Jenkins.getInstance());

        IO io = new IO(new BufferedInputStream(stdin),stdout,stderr);

        final ClassLoader cl = Thread.currentThread().getContextClassLoader();
        Closure registrar = new Closure(null, null) {
            private static final long serialVersionUID = 1L;

            @SuppressWarnings("unused")
            @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS",justification="Closure invokes this via reflection")
            public Object doCall(Object[] args) {
                assert(args.length == 1);
                assert(args[0] instanceof Shell);

                Shell shell = (Shell)args[0];
                XmlCommandRegistrar r = new XmlCommandRegistrar(shell, cl);
                r.register(GroovyshCommand.class.getResource("commands.xml"));

                return null;
            }
        };
        Groovysh shell = new Groovysh(cl, binding, io, registrar);
        shell.getImports().add("import hudson.model.*");

        // defaultErrorHook doesn't re-throw IOException, so ShellRunner in
        // Groovysh will keep looping forever if we don't terminate when the
        // channel is closed
        final Closure originalErrorHook = shell.getErrorHook();
        shell.setErrorHook(new Closure(shell, shell) {
            private static final long serialVersionUID = 1L;

            @SuppressWarnings("unused")
            @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS",justification="Closure invokes this via reflection")
            public Object doCall(Object[] args) throws ChannelClosedException {
                if (args.length == 1 && args[0] instanceof ChannelClosedException) {
                    throw (ChannelClosedException)args[0];
                }

                return originalErrorHook.call(args);
            }
        });

        return shell;
    }
View Full Code Here

        super(resolver, w);
        uicomponent_ = uicomponent;
        rcontext_ = context;

        // Closure nodeurl()
        put("nodeurl", new Closure(this) {
            @Override
            public Object call(Object[] args) {
                return context.createURL(NodeURL.TYPE);
            }
        });
View Full Code Here

    private Object callGlobal(final String name, final Object args[]) {
        return callGlobal(name, args, context);
    }

    private Object callGlobal(final String name, final Object args[], final ScriptContext ctx) {
        final Closure closure = globalClosures.get(name);
        if (closure != null) {
            return closure.call(args);
        }

        final Object value = ctx.getAttribute(name);
        if (value instanceof Closure) {
            return ((Closure) value).call(args);
View Full Code Here

TOP

Related Classes of groovy.lang.Closure

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.