/* * Title: AbstractDecoratorMapper * Description: * * This software is published under the terms of the OpenSymphony Software * License version 1.1, of which a copy has been included with this * distribution in the LICENSE.txt file. */ package com.opensymphony.module.sitemesh.mapper; import com.opensymphony.module.sitemesh.Config; import com.opensymphony.module.sitemesh.Decorator; import com.opensymphony.module.sitemesh.DecoratorMapper; import com.opensymphony.module.sitemesh.Page; import javax.servlet.http.HttpServletRequest; import java.util.Properties; /** * Abstract DecoratorMapper implementation for easy creation of new DecoratorMappers. * * <p>Typically, an implementation would override getNamedDecorator() <b>or</b> getDecorator(). * If a Decorator cannot be returned from either of these, then they should delegate to their * superclass.</p> * * @author <a href="mailto:joe@truemesh.com">Joe Walnes</a> * @version $Revision: 1.1 $ * * @see com.opensymphony.module.sitemesh.DecoratorMapper */ public abstract class AbstractDecoratorMapper implements DecoratorMapper { /** Parent DecoratorMapper. */ protected DecoratorMapper parent = null; protected Config config = null; /** Set parent. */ public void init(Config config, Properties properties, DecoratorMapper parent) throws InstantiationException { this.parent = parent; this.config = config; } /** Delegate to parent. */ public Decorator getDecorator(HttpServletRequest request, Page page) { return parent.getDecorator(request, page); } /** Delegate to parent. */ public Decorator getNamedDecorator(HttpServletRequest request, String name) { return parent.getNamedDecorator(request, name); } }