/** * Check if bsf supports the language. * @return true if bsf can create an engine for this language. */ @Override public boolean supportsLanguage() { Map<String, String> table = ReflectUtil.getField(new BSFManager(), "registeredEngines"); String engineClassName = table.get(getLanguage()); if (engineClassName == null) { getProject().log( "This is no BSF engine class for language '" + getLanguage() + "'", Project.MSG_VERBOSE); return false; } try { getScriptClassLoader().loadClass(engineClassName); return true; } catch (Throwable ex) { getProject().log( "unable to create BSF engine class for language '" + getLanguage() + "'", ex, Project.MSG_VERBOSE); return false; } }
/** * Handle the input * @param request the request to handle * @throws BuildException if not possible to read from console */ public void handleInput(InputRequest request) throws BuildException { String prompt = getPrompt(request); try { Object console = ReflectUtil.invokeStatic(System.class, "console"); do { char[] input = (char[]) ReflectUtil.invoke( console, "readPassword", String.class, prompt, Object[].class, (Object[]) null); request.setInput(new String(input)); /* for security zero char array after retrieving value */ java.util.Arrays.fill(input, ' '); } while (!request.isInputValid()); } catch (Exception e) { /* Java6 not present use default handler */ super.handleInput(request); } }
public static int getPortWithoutPing(HttpProxyCacheServer server) { return (Integer) ReflectUtil.getField(server, "port"); }