/sitebricks/src/main/java/com/google/sitebricks/SitebricksServletModule.java
http://github.com/dhanji/sitebricks · Java · 87 lines · 18 code · 10 blank · 59 comment · 0 complexity · 336ec29295a538fe55cec31286df9f76 MD5 · raw file
- package com.google.sitebricks;
- import com.google.inject.servlet.ServletModule;
- /**
- * Provides an optional mechanism for users of Sitebricks to supply {@link javax.servlet.Servlet} and
- * {@link javax.servlet.Filter} implementations using the standard Guice Servlet APIs.<br/>
- * <br/>
- * For example:
- * <pre>
- public Injector getInjector() {
- return Guice.createInjector(new SitebricksModule() {
- @Override
- protected SitebricksServletModule servletModule() {
- return new SitebricksServletModule() {
- @Override
- protected void configurePreFilters() {
- filter("/*").through(MyPreFilter.class);
- }
- @Override
- protected void configurePreFilters() {
- filter("/*").through(MyPostFilter.class);
- }
- @Override
- protected void configureCustomServlets() {
- serve("/foo").with(FooServlet.class);
- }
- };
- }
- @Override
- protected void configureSitebricks() {
- ...
- }
- }
- }
- </pre>
- */
- public class SitebricksServletModule extends ServletModule {
- @Override
- protected final void configureServlets() {
- configurePreFilters();
- filter("/*").through(HiddenMethodFilter.class);
- filter("/*").through(SitebricksFilter.class);
- configurePostFilters();
- configureCustomServlets();
- }
- /**
- * Provides a mechanism for users of Sitebricks to register their own {@link javax.servlet.Servlet} implementations
- * with Guice Servlet via {@link ServletModule#serve(String, String...) serve} and
- * {@link ServletModule#serveRegex(String, String...) serveRegex}.<p>
- */
- protected void configureCustomServlets() {
- }
- /**
- * Provides a mechanism for users of Sitebricks to register their own {@link javax.servlet.Filter} implementation with
- * Guice Servlet via {@link ServletModule#filter(String, String...) filter} and
- * {@link ServletModule#filterRegex(String, String...) filterRegex}.<p>
- * <br/>
- * Filters declared in this method will execute in the filter chain before the Sitebricks filter invokes.
- */
- protected void configurePreFilters() {
- }
- /**
- * Provides a mechanism for users of Sitebricks to register their own {@link javax.servlet.Filter} implementation with
- * Guice Servlet via {@link ServletModule#filter(String, String...) filter} and
- * {@link ServletModule#filterRegex(String, String...) filterRegex}.<p>
- * <br/>
- * Filters declared in this method will execute in the filter chain <b>only if Sitebricks determines it will not
- * handle the request.</b>
- */
- protected void configurePostFilters() {
- }
- }