Class OSDecoratorMapper

  • All Implemented Interfaces:
    DecoratorMapper

    public final class OSDecoratorMapper
    extends AbstractDecoratorMapper
    The OSDecoratorMapper will map a suitable decorator based on the operating system of the remote client.

    OSDecoratorMapper works by checking to see if the "UA-OS" header was sent with the HTTP request. If it was, the class will check the value of the header with all the different os's the user has configured the Decorator Mapper to identify and, if a match is found, routes the request accordingly. Configuration is done using the sitemesh.xml file. The param name is a string literal (operating system name) you would like to match in the UA-OS header, and the value is what will be appended to the decorator name if the user is using that operating system

    Version:
    $Revision: 1.2 $
    Author:
    Adam P. Schepis
    See Also:
    AbstractDecoratorMapper
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Properties properties
      Properties holds the parameters that the object was initialized with.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Decorator getDecorator​(javax.servlet.http.HttpServletRequest request, Page page)
      Attempts to find the correct decorator for Page page based on the UA-OS HTTP header in the request.
      void init​(Config config, java.util.Properties properties, DecoratorMapper parent)
      Init initializes the OSDecoratorMapper object by setting the parent DecoratorMapper, and loading the initialization properties.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • properties

        protected java.util.Properties properties
        Properties holds the parameters that the object was initialized with.
    • Constructor Detail

      • OSDecoratorMapper

        public OSDecoratorMapper()
    • Method Detail

      • init

        public void init​(Config config,
                         java.util.Properties properties,
                         DecoratorMapper parent)
                  throws java.lang.InstantiationException
        Init initializes the OSDecoratorMapper object by setting the parent DecoratorMapper, and loading the initialization properties.
        Specified by:
        init in interface DecoratorMapper
        Overrides:
        init in class AbstractDecoratorMapper
        Parameters:
        config - The config file
        properties - An object containing intialization parameters
        parent - The parent DecoratorMapper object
        Throws:
        java.lang.InstantiationException - should be thrown if the implementation cannot be initialized properly.
      • getDecorator

        public Decorator getDecorator​(javax.servlet.http.HttpServletRequest request,
                                      Page page)
        Attempts to find the correct decorator for Page page based on the UA-OS HTTP header in the request.
        Specified by:
        getDecorator in interface DecoratorMapper
        Overrides:
        getDecorator in class AbstractDecoratorMapper
        Parameters:
        request - The HTTP request sent to the server
        page - The page SiteMesh is trying to find a decorator for
        Returns:
        A Decorator object that is either the decorator for the identified OS, or the parent DecoratorMapper's decorator