@Override public String generateInterfaceScript(String contextPath, String servletPath, String scriptName) { StringBuilder buffer = new StringBuilder(); buffer .append(EnginePrivate.getRequireEngineScript()) .append("\n"); // An optimization here might be to only generate class // definitions for classes used as parameters in the class that we are // currently generating a proxy for. if (generateDtoClasses.matches(".*\\binterface\\b.*") && converterManager.getNamedConverterJavaScriptNames().size() > 0) { buffer .append(dtoAllHandler.generateDtoAllScript(contextPath, servletPath)) .append("\n"); } buffer .append("(function() {\n") .append(" if (dwr.engine._getObject(\"" + scriptName + "\") == undefined) {\n") .append(" var p;\n") .append(" \n") .append(remoter.generateInterfaceJavaScript(scriptName, " ", "p", contextPath + servletPath)) .append(" \n") .append(" dwr.engine._setObject(\"" + scriptName + "\", p);\n") .append(" }\n") .append("})();\n"); return buffer.toString(); }