private ISpecificationResolverDelegate _delegate;
public AbstractSpecificationResolver(IRequestCycle cycle)
{
IEngine engine = cycle.getEngine();
_specificationSource = engine.getSpecificationSource();
_applicationRootLocation = Tapestry.getApplicationRootLocation(cycle);
String servletName =
cycle.getRequestContext().getServlet().getServletConfig().getServletName();
_webInfLocation = _applicationRootLocation.getRelativeLocation("/WEB-INF/");
_webInfAppLocation = _webInfLocation.getRelativeLocation(servletName + "/");
IApplicationSpecification specification = engine.getSpecification();
if (specification.checkExtension(Tapestry.SPECIFICATION_RESOLVER_DELEGATE_EXTENSION_NAME))
_delegate =
(ISpecificationResolverDelegate) engine.getSpecification().getExtension(
Tapestry.SPECIFICATION_RESOLVER_DELEGATE_EXTENSION_NAME,
ISpecificationResolverDelegate.class);
else
_delegate = NullSpecificationResolverDelegate.getSharedInstance();
}