Class RobotDecoratorMapper
- java.lang.Object
-
- com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
-
- com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper
-
- All Implemented Interfaces:
DecoratorMapper
public final 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.2 $
- Author:
- Mathias Bogaert
- See Also:
DecoratorMapper
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String[]
botAgents
All known robot user-agent headers (list can be found here).private static java.lang.String[]
botHosts
All known robot hosts (list can be found here).private java.lang.String
decoratorName
-
Fields inherited from class com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper
config, parent
-
-
Constructor Summary
Constructors Constructor Description RobotDecoratorMapper()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Decorator
getDecorator(javax.servlet.http.HttpServletRequest request, Page page)
Delegate to parent.void
init(Config config, java.util.Properties properties, DecoratorMapper parent)
Set parent.private static boolean
isBot(javax.servlet.http.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
-
-
-
-
Field Detail
-
decoratorName
private java.lang.String decoratorName
-
botHosts
private static final java.lang.String[] botHosts
All known robot hosts (list can be found here).
-
botAgents
private static final java.lang.String[] botAgents
All known robot user-agent headers (list can be found here).NOTE: To avoid bad detection:
- Robots with ID of 2 letters only were removed
- Robot called "webs" were removed
- directhit was changed in direct_hit (its real id)
-
-
Method Detail
-
init
public void init(Config config, java.util.Properties properties, DecoratorMapper parent) throws java.lang.InstantiationException
Description copied from class:AbstractDecoratorMapper
Set parent.- Specified by:
init
in interfaceDecoratorMapper
- Overrides:
init
in classAbstractDecoratorMapper
- Parameters:
config
- Config supplied by Servlet or Filter.properties
- Any initialization properties (specific to implementation).- 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)
Description copied from class:AbstractDecoratorMapper
Delegate to parent.- Specified by:
getDecorator
in interfaceDecoratorMapper
- Overrides:
getDecorator
in classAbstractDecoratorMapper
-
isBot
private static boolean isBot(javax.servlet.http.HttpServletRequest request)
Check if the current request came from a robot (also known as spider, crawler, ferret)
-
-