org.apache.cocoon.components.modules.input
Class ProjectPathModule

java.lang.Object
  extended by org.apache.avalon.framework.logger.AbstractLogEnabled
      extended by org.apache.cocoon.components.modules.input.AbstractInputModule
          extended by org.apache.cocoon.components.modules.input.ProjectPathModule
All Implemented Interfaces:
Disposable, Component, Configurable, LogEnabled, ThreadSafe, InputModule

public class ProjectPathModule
extends AbstractInputModule
implements ThreadSafe

ProjectPathModule provides relative and absolute paths with regards to the root of a project.

Config:

    <component-instance logger="core.modules.input"
           name="myproject"
           class="org.apache.cocoon.components.modules.input.ProjectPathModule">
          <uri-prefix>my/project/</uri-prefix>
    </component-instance>
 

Usage:

    <map:transform src="skins/{forrest:skin}/xslt/fo/document2html.xsl">
       <map:parameter name="base" value="{myproject:relative}"/>
    </map:transform>
And then prepend this to all image paths:
  ...
  <xsl:param name="base"/>
  ...
  <xsl:template match="img">
      <img src="{concat($base, @src)}" ...
      ...
  </xsl:template>
  
Then if you are in my/project/some/folder/page.html, the image will have a relative path bact to the root of the project.
   <img src="../../imagename.png"/>
 
Using 'myproject:path' would have given you: /some/folder/page.html
Using 'myproject:folder' would have given you: /some/folder/

Version:
$Id: ProjectPathModule.html 1304258 2012-03-23 10:09:27Z ilgrosso $

Field Summary
protected static String PROJECT_PARAM_DEFAULT
           
protected static String PROJECT_PARAM_NAME
           
protected  String projectBase
           
 
Fields inherited from class org.apache.cocoon.components.modules.input.AbstractInputModule
settings
 
Fields inherited from interface org.apache.cocoon.components.modules.input.InputModule
ROLE
 
Constructor Summary
ProjectPathModule()
           
 
Method Summary
 void configure(Configuration conf)
          Configures the database access helper.
 Object getAttribute(String name, Configuration modeConf, Map objectModel)
          Standard access to an attribute's value.
 Iterator getAttributeNames(Configuration modeConf, Map objectModel)
          Returns an Iterator of String objects containing the names of the attributes available.
 Object[] getAttributeValues(String name, Configuration modeConf, Map objectModel)
          Returns an array of String objects containing all of the values the given attribute has, or null if the attribute does not exist.
 
Methods inherited from class org.apache.cocoon.components.modules.input.AbstractInputModule
dispose
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROJECT_PARAM_NAME

protected static final String PROJECT_PARAM_NAME
See Also:
Constant Field Values

PROJECT_PARAM_DEFAULT

protected static final String PROJECT_PARAM_DEFAULT
See Also:
Constant Field Values

projectBase

protected String projectBase
Constructor Detail

ProjectPathModule

public ProjectPathModule()
Method Detail

configure

public void configure(Configuration conf)
               throws ConfigurationException
Description copied from class: AbstractInputModule
Configures the database access helper. Takes all elements nested in component declaration and stores them as key-value pairs in settings. Nested configuration option are not catered for. This way global configuration options can be used. For nested configurations override this function.

Specified by:
configure in interface Configurable
Overrides:
configure in class AbstractInputModule
Throws:
ConfigurationException
See Also:
Configurable.configure(org.apache.avalon.framework.configuration.Configuration)

getAttribute

public Object getAttribute(String name,
                           Configuration modeConf,
                           Map objectModel)
                    throws ConfigurationException
Description copied from interface: InputModule
Standard access to an attribute's value. If more than one value exists, the first is returned. If the value does not exist, null is returned. To get all values, use InputModule.getAttributeValues(String, Configuration, Map) or InputModule.getAttributeNames(Configuration, Map) and InputModule.getAttribute(String, Configuration, Map) to get them one by one.

Specified by:
getAttribute in interface InputModule
Overrides:
getAttribute in class AbstractInputModule
Parameters:
name - a String that specifies what the caller thinks would identify an attribute. This is mainly a fallback if no modeConf is present.
modeConf - column's mode configuration from resource description. This argument is optional.
Throws:
ConfigurationException
See Also:
InputModule.getAttribute(java.lang.String, org.apache.avalon.framework.configuration.Configuration, java.util.Map)

getAttributeNames

public Iterator getAttributeNames(Configuration modeConf,
                                  Map objectModel)
                           throws ConfigurationException
Description copied from interface: InputModule
Returns an Iterator of String objects containing the names of the attributes available. If no attributes are available, the method returns an empty Iterator.

Specified by:
getAttributeNames in interface InputModule
Overrides:
getAttributeNames in class AbstractInputModule
Parameters:
modeConf - column's mode configuration from resource description. This argument is optional.
Throws:
ConfigurationException
See Also:
InputModule.getAttributeNames(org.apache.avalon.framework.configuration.Configuration, java.util.Map)

getAttributeValues

public Object[] getAttributeValues(String name,
                                   Configuration modeConf,
                                   Map objectModel)
                            throws ConfigurationException
Description copied from interface: InputModule
Returns an array of String objects containing all of the values the given attribute has, or null if the attribute does not exist. As an alternative, InputModule.getAttributeNames(Configuration, Map) together with InputModule.getAttribute(String, Configuration, Map) can be used to get the values one by one.

Specified by:
getAttributeValues in interface InputModule
Overrides:
getAttributeValues in class AbstractInputModule
Parameters:
name - a String that specifies what the caller thinks would identify an attributes. This is mainly a fallback if no modeConf is present.
modeConf - column's mode configuration from resource description. This argument is optional.
Throws:
ConfigurationException
See Also:
InputModule.getAttributeValues(java.lang.String, org.apache.avalon.framework.configuration.Configuration, java.util.Map)


Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.