org.apache.cocoon.selection
Class ResourceExistsSelector

java.lang.Object
  extended byorg.apache.cocoon.util.AbstractLogEnabled
      extended byorg.apache.cocoon.selection.ResourceExistsSelector
All Implemented Interfaces:
Disposable, org.apache.cocoon.selection.Selector, Serviceable, ThreadSafe

public class ResourceExistsSelector
extends org.apache.cocoon.util.AbstractLogEnabled
implements ThreadSafe, Serviceable, Disposable, org.apache.cocoon.selection.Selector

Selects the first of a set of Resources (usually files) that exists.

A parameter 'prefix',

   <map:parameter src="prefix" value="some/path"/<
 
may be supplied to the selector instance. This prefix is prepended to all test expressions before evaluation. The default prefix is '' (empty string), meaning that all expressions are relative to the current sitemap, unless explicitly overridden.

NOTE: Provided resource URI is resolved as Source, relative to the current sitemap, which differs from behavior of selector in previous versions. To resolve resource paths relative to the context root, provide prefix parameter:

   <map:parameter name="prefix" value="context://"/<
 

For example, we could define a ResourceExistsSelector with:

 <map:selector name="resource-exists"
               logger="sitemap.selector.resource-exists"
               src="org.apache.cocoon.selection.ResourceExistsSelector" /<
 
And use it to build a PDF from XSL:FO or a higher-level XML format with:
  <map:match pattern="**.pdf"<
    <map:select type="resource-exists"<
       <map:when test="context/xdocs/{1}.fo"<
          <map:generate src="content/xdocs/{1}.fo" /<
       </map:when<
       <map:otherwise<
         <map:generate src="content/xdocs/{1}.xml" /<
         <map:transform src="stylesheets/document2fo.xsl" /<
       </map:otherwise<
    </map:select<
    <map:serialize type="fo2pdf" /<
 

Version:
$Id: ResourceExistsSelector.html 1304280 2012-03-23 11:18:01Z ilgrosso $

Field Summary
 
Fields inherited from interface org.apache.cocoon.selection.Selector
ROLE
 
Constructor Summary
ResourceExistsSelector()
           
 
Method Summary
 void dispose()
           
 boolean select(String expression, Map objectModel, Parameters parameters)
           
 void service(ServiceManager manager)
           
 
Methods inherited from class org.apache.cocoon.util.AbstractLogEnabled
getLogger, setLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResourceExistsSelector

public ResourceExistsSelector()
Method Detail

service

public void service(ServiceManager manager)
             throws ServiceException
Specified by:
service in interface Serviceable
Throws:
ServiceException

dispose

public void dispose()
Specified by:
dispose in interface Disposable

select

public boolean select(String expression,
                      Map objectModel,
                      Parameters parameters)
Specified by:
select in interface org.apache.cocoon.selection.Selector


Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.