Package javax.script

Examples of javax.script.ScriptEngineFactory


        ScriptEngineManager manager = scriptEngineManagerFactory.getScriptEngineManager();
        List<?> factories = manager.getEngineFactories();
        for (Iterator<?> fi = factories.iterator(); fi.hasNext();) {

            final ScriptEngineFactory factory = (ScriptEngineFactory) fi.next();

            pw.println();
            pw.print(factory.getEngineName());
            pw.print(" ");
            pw.println(factory.getEngineVersion());
            pw.println("-------------------------------------");
            pw.print("- Language : ");
            pw.print(factory.getLanguageName());
            pw.print(", ");
            pw.println(factory.getLanguageVersion());

            pw.print("- Extensions : ");
            printArray(pw, factory.getExtensions());

            pw.print("- MIME Types : ");
            printArray(pw, factory.getMimeTypes());

            pw.print("- Names : ");
            printArray(pw, factory.getNames());
        }
    }
View Full Code Here


            String line;
            while ((line = reader.readLine()) != null) {
                if (!line.startsWith("#") && line.trim().length() > 0) {
                  try {
                      Class<ScriptEngineFactory> clazz = bundle.loadClass(line);
                      ScriptEngineFactory spi = clazz.newInstance();
                      registerFactory(mgr, spi, null);
                      extensions.addAll(spi.getExtensions());
                  } catch (Throwable t) {
                      log.error("Cannot register ScriptEngineFactory " + line, t);
                  }
              }
            }
View Full Code Here

       
        regs.add(bundleContext.registerService(Map.class.getName(), result, getProperties(context, engineName)));
    }
   
    private ScriptEngineFactory factory(final String engineName) {
        return new ScriptEngineFactory() {
           
            public ScriptEngine getScriptEngine() {
                return null;
            }
           
View Full Code Here

    Assert.notNull(engine, "No suitable engine found for "
        + (StringUtils.hasText(language) ? "language " + language : "extension " + extension));

    if (log.isDebugEnabled()) {
      ScriptEngineFactory factory = engine.getFactory();
      log.debug(String.format("Using ScriptEngine %s (%s), language %s (%s)", factory.getEngineName(),
          factory.getEngineVersion(), factory.getLanguageName(), factory.getLanguageVersion()));
    }

    return engine;
  }
View Full Code Here

    try{
    List<String> factoryCandidates=this.getAllEngineFactoryCandidates();
    for (String candidate: factoryCandidates){
      System.out.println("Candidate: "+candidate);
      Class factoryClazz=this.getClass().getClassLoader().loadClass(candidate);
      ScriptEngineFactory factory=(ScriptEngineFactory) factoryClazz.newInstance();
      ScriptEngine engine=factory.getScriptEngine();
      try {
        engine.eval("puts 'Hello world'");
      } catch (ScriptException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
      if(manager.getEngineByName(factory.getLanguageName())!=null){
        System.out.println("Engine already existing. Continuing");
        continue; //This means that there already is a factory for that language
      }
      //Now we register the factory for all its names, extensions and mime types
      for(String name: factory.getNames()){
        System.out.println("registering "+name);
        manager.registerEngineName(name, factory);
      }
      for (String type: factory.getMimeTypes()){
        manager.registerEngineMimeType(type, factory);
        System.out.println(manager.getEngineByMimeType(type).equals(factory));
      }
      for (String extension: factory.getExtensions()){
        manager.registerEngineExtension(extension, factory);
        System.out.println(manager.getEngineByExtension(extension).equals(factory));

      }
      }
View Full Code Here

    }

    private static ScriptEngine engine(String language) {
        ScriptEngine engine = ENGINES.get().get(language);
        if (engine == null) {
            final ScriptEngineFactory factory = ENGINE_FACTORIES.get(language);
            engine = factory.getScriptEngine();
            engine.setBindings(binding(), ScriptContext.ENGINE_SCOPE);
            ENGINES.get().put(language, engine);
        }
        return engine;
    }
View Full Code Here

    {
        return state.factories;
    }

    public ScriptEngine getEngineByExtension(String extension) {
        ScriptEngineFactory factory = state.extensionAssociations.get(extension);
        if (factory == null) return null;

        ScriptEngine engine = factory.getScriptEngine();

        //We do not support global scope for now
        //engine.setBindings(globalScope, ScriptContext.GLOBAL_SCOPE);

        return engine;
View Full Code Here

    }

    // ---------- ServiceTrackerCustomizer interface -------------------------------------

    public Object addingService(ServiceReference reference) {
        ScriptEngineFactory service = (ScriptEngineFactory) context.getService(reference);
        engineSpiServices.put(reference,new ScriptEngineFactoryState(service,getServiceProperties(reference)));
        refreshScriptEngineManager();
        return service;
    }
View Full Code Here

                if (!line.startsWith("#") && line.trim().length() > 0)
                {
                    try
                    {
                        Class<ScriptEngineFactory> clazz = bundle.loadClass(line);
                        ScriptEngineFactory spi = clazz.newInstance();
                        registerFactory(mgr, spi, null);
                        extensions.addAll(spi.getExtensions());
                    }
                    catch (Throwable t)
                    {
                        log.log(LogService.LOG_ERROR,
                            "Cannot register ScriptEngineFactory " + line, t);
View Full Code Here

                in.close();
                Class cls = bundle.loadClass(className);
                if (!ScriptEngineFactory.class.isAssignableFrom(cls)) {
                    throw new IllegalStateException("Invalid ScriptEngineFactory: " + cls.getName());
                }
                ScriptEngineFactory factory = (ScriptEngineFactory) cls.newInstance();
                List<String> names = factory.getNames();
                for (String test : names) {
                    if (test.equals(name)) {
                        ClassLoader old = Thread.currentThread().getContextClassLoader();
                        ScriptEngine engine;
                        try {
                            // JRuby seems to require the correct TCCL to call getScriptEngine
                            Thread.currentThread().setContextClassLoader(factory.getClass().getClassLoader());
                            engine = factory.getScriptEngine();
                        } finally {
                            Thread.currentThread().setContextClassLoader(old);
                        }
                        LOG.trace("Resolved ScriptEngineFactory: {} for expected name: {}", engine, name);
                        return engine;
                    }
                }
                LOG.debug("ScriptEngineFactory: {} does not match expected name: {}", factory.getEngineName(), name);
                return null;
            } catch (Exception e) {
                LOG.warn("Cannot create ScriptEngineFactory: " + e.getClass().getName(), e);
                return null;
            }
View Full Code Here

TOP

Related Classes of javax.script.ScriptEngineFactory

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.