org.sitemesh.builder
Class SiteMeshFilterBuilder

java.lang.Object
  extended by org.sitemesh.builder.BaseSiteMeshBuilder<BUILDER,WebAppContext,javax.servlet.Filter>
      extended by org.sitemesh.builder.BaseSiteMeshFilterBuilder<SiteMeshFilterBuilder>
          extended by org.sitemesh.builder.SiteMeshFilterBuilder

public class SiteMeshFilterBuilder
extends BaseSiteMeshFilterBuilder<SiteMeshFilterBuilder>

Convenient API for building the main SiteMesh Filter.

This follows the API builder pattern - each method returns a reference to the original builder so they can be chained together. When configured, call the create() method which will return the final immutable Filter.

Examples

 // Simplest example...
 Filter siteMeshFilter = new SiteMeshFilterBuilder()
     .addDecoratorPath("/*", "/decorator.html")
     .create();

 // A few more options (shows applying multiple decorators to a single page)...
 Filter siteMeshFilter = new SiteMeshFilterBuilder()
     .addDecoratorPaths("/*", "/decorators/main-layout.html", "/decorators-common-style.html")
     .addDecoratorPaths("/admin/*", "/decorators/admin-layout.html", "/decorators-common-style.html")
     .addTagRuleBundle(new MyLinkRewriterBundle())
     .addExcludePath("/javadoc/*")
     .addExcludePath("/portfolio/*")
     .create();

 // If you want to get a bit crazy and totally customize SiteMesh...
 Filter siteMeshFilter = new SiteMeshFilterBuilder()
     .setMimeTypes("image/svg+xml")
     .setCustomContentProcessor(new MySvgContentProcessor())
     .setCustomDecoratorSelector(new MyDatabaseDrivenDecoratorSelector())
     .create();
 

Custom implementations (advanced)

This is only for advanced users who need to change the behavior of the builder...

If you ever find the need to subclass SiteMeshFilterBuilder (e.g. to add more convenience methods, to change the implementation returned, or add new functionality), it is instead recommended that you extends BaseSiteMeshFilterBuilder. This way, the generic type signature can be altered.

Author:
Joe Walnes

Constructor Summary
SiteMeshFilterBuilder()
           
 
Method Summary
 javax.servlet.Filter create()
          Create the SiteMesh Filter.
 
Methods inherited from class org.sitemesh.builder.BaseSiteMeshFilterBuilder
addExcludedPath, getSelector, setCustomSelector, setMimeTypes, setMimeTypes, setupDefaults
 
Methods inherited from class org.sitemesh.builder.BaseSiteMeshBuilder
addDecoratorPath, addDecoratorPaths, addDecoratorPaths, addTagRuleBundle, addTagRuleBundles, addTagRuleBundles, clearTagRuleBundles, getContentProcessor, getDecoratorSelector, self, setCustomContentProcessor, setCustomDecoratorSelector, setTagRuleBundles, setTagRuleBundles
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SiteMeshFilterBuilder

public SiteMeshFilterBuilder()
Method Detail

create

public javax.servlet.Filter create()
Create the SiteMesh Filter.

Specified by:
create in class BaseSiteMeshFilterBuilder<SiteMeshFilterBuilder>


Copyright © 2011. All Rights Reserved.