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
decoratorproperty.- Version:
- $Revision: 1.2 $
- Author:
- Mathias Bogaert
- See Also:
DecoratorMapper
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String[]botAgentsAll known robot user-agent headers (list can be found here).private static java.lang.String[]botHostsAll known robot hosts (list can be found here).private java.lang.StringdecoratorName-
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 DecoratorgetDecorator(jakarta.servlet.http.HttpServletRequest request, Page page)Delegate to parent.voidinit(Config config, java.util.Properties properties, DecoratorMapper parent)Set parent.private static booleanisBot(jakarta.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:AbstractDecoratorMapperSet parent.- Specified by:
initin interfaceDecoratorMapper- Overrides:
initin 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(jakarta.servlet.http.HttpServletRequest request, Page page)
Description copied from class:AbstractDecoratorMapperDelegate to parent.- Specified by:
getDecoratorin interfaceDecoratorMapper- Overrides:
getDecoratorin classAbstractDecoratorMapper
-
isBot
private static boolean isBot(jakarta.servlet.http.HttpServletRequest request)
Check if the current request came from a robot (also known as spider, crawler, ferret)
-
-