com.opensymphony.module.sitemesh.mapper
Class RobotDecoratorMapper

java.lang.Object
  extended by com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
      extended by com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper
All Implemented Interfaces:
DecoratorMapper

public class RobotDecoratorMapper
extends AbstractDecoratorMapper

The RobotDecoratorMapper will use the specified decorator when the requester is identified as a robot (also known as spider, crawler, ferret) of a search engine.

The name of this decorator should be supplied in the decorator property.

Version:
$Revision: 1.3 $
Author:
Mathias Bogaert
See Also:
DecoratorMapper

Field Summary
private static String[] botAgents
          All known robot user-agent headers (list can be found here).
private static String[] botHosts
          All known robot hosts (list can be found here).
private  String decoratorName
           
 
Fields inherited from class com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
config, parent
 
Constructor Summary
RobotDecoratorMapper()
           
 
Method Summary
 Decorator getDecorator(HttpServletRequest request, Page page)
          Delegate to parent.
 void init(Config config, Properties properties, DecoratorMapper parent)
          Set parent.
private static boolean isBot(HttpServletRequest request)
          Check if the current request came from a robot (also known as spider, crawler, ferret)
 
Methods inherited from class com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
getNamedDecorator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

decoratorName

private String decoratorName

botHosts

private static final String[] botHosts
All known robot hosts (list can be found here).


botAgents

private static final String[] botAgents
All known robot user-agent headers (list can be found here).

NOTE: To avoid bad detection:

Constructor Detail

RobotDecoratorMapper

public RobotDecoratorMapper()
Method Detail

init

public void init(Config config,
                 Properties properties,
                 DecoratorMapper parent)
          throws InstantiationException
Description copied from class: AbstractDecoratorMapper
Set parent.

Specified by:
init in interface DecoratorMapper
Overrides:
init in class AbstractDecoratorMapper
Parameters:
config - Config supplied by Servlet or Filter.
properties - Any initialization properties (specific to implementation).
Throws:
InstantiationException - should be thrown if the implementation cannot be initialized properly.

getDecorator

public Decorator getDecorator(HttpServletRequest request,
                              Page page)
Description copied from class: AbstractDecoratorMapper
Delegate to parent.

Specified by:
getDecorator in interface DecoratorMapper
Overrides:
getDecorator in class AbstractDecoratorMapper

isBot

private static boolean isBot(HttpServletRequest request)
Check if the current request came from a robot (also known as spider, crawler, ferret)


www.opensymphony.com/sitemesh/