Save This Page
Home » sitemesh-2.3 » com.opensymphony.module » sitemesh » [javadoc | source]
    1   /*
    2    * Title:        DecoratorMapper
    3    * Description:
    4    *
    5    * This software is published under the terms of the OpenSymphony Software
    6    * License version 1.1, of which a copy has been included with this
    7    * distribution in the LICENSE.txt file.
    8    */
    9   
   10   package com.opensymphony.module.sitemesh;
   11   
   12   import javax.servlet.http.HttpServletRequest;
   13   import java.util.Properties;
   14   
   15   /**
   16    * The DecoratorMapper is responsible for determining which
   17    * {@link com.opensymphony.module.sitemesh.Decorator} should be used for a
   18    * {@link com.opensymphony.module.sitemesh.Page}.
   19    *
   20    * <p>Implementations of this are returned by the {@link com.opensymphony.module.sitemesh.Factory},
   21    * and should be thread-safe.</p>
   22    *
   23    * @author <a href="mailto:joe@truemesh.com">Joe Walnes</a>
   24    * @version $Revision: 1.2 $
   25    */
   26   public interface DecoratorMapper {
   27       /**
   28        * Initialize the mapper. This is always called before the other methods.
   29        *
   30        * @param config Config supplied by Servlet or Filter.
   31        * @param properties Any initialization properties (specific to implementation).
   32        * @exception java.lang.InstantiationException should be thrown if the implementation
   33        *            cannot be initialized properly.
   34        */
   35       void init(Config config, Properties properties, DecoratorMapper parent) throws InstantiationException;
   36   
   37       /**
   38        * Return appropriate {@link com.opensymphony.module.sitemesh.Decorator} for a certain Page.
   39        *
   40        * <p>The implementation can determine the result based on the actual request
   41        * or the data of the parsed page. Typically this would call <code>getNamedDecorator()</code>
   42        * which would delegate to a parent DecoratorMapper.</p>
   43        *
   44        */
   45       Decorator getDecorator(HttpServletRequest request, Page page);
   46   
   47       /** Return a {@link com.opensymphony.module.sitemesh.Decorator} with given name. */
   48       Decorator getNamedDecorator(HttpServletRequest request, String name);
   49   }

Save This Page
Home » sitemesh-2.3 » com.opensymphony.module » sitemesh » [javadoc | source]