Como estender um método protegido no clojure
Pergunta
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import clojure.lang.RT;
import com.vaadin.Application;
import com.vaadin.terminal.gwt.server.AbstractApplicationServlet;
public class Clojure4Vaadin extends AbstractApplicationServlet {
@Override
protected Class<? extends Application> getApplicationClass()throws ClassNotFoundException {
return Application.class;
}
.... Some code .....
}
Como escrever isso no Clojure?
Estou tentando escrever o vaadin srvlet
classe em clojure:
Solução
Eu acho que o que você está procurando é o seguinte:
(def Clojure4Vaadin
(proxy [com.vaadin.terminal.gwt.server.AbstractApplicationServlet] []
(getApplicationClass [] com.vaadin.Application)))
Dê uma olhada no documentação de proxy.
Outras dicas
O código que você forneceu acima é usado para servir um webapp escrito em Clojure através da estrutura Vaadin. Esse código deve ser executado como Java Servlet como é e a lógica do WebApp estaria no código Clojure (test.tlp), você precisaria compilar o servlet e empacotá -lo com o script Clojure no diretório raiz do WebApp.
Atenciosamente, Shanmu
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow