org.mmbase.bridge.jsp.taglib.pageflow
Class LeafFileTag

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by javax.servlet.jsp.tagext.BodyTagSupport
          extended by org.mmbase.bridge.jsp.taglib.ContextReferrerTag
              extended by org.mmbase.bridge.jsp.taglib.CloudReferrerTag
                  extended by org.mmbase.bridge.jsp.taglib.pageflow.UrlTag
                      extended by org.mmbase.bridge.jsp.taglib.pageflow.LeafFileTag
All Implemented Interfaces:
Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, FrameworkParamHandler, ParamHandler

public class LeafFileTag
extends UrlTag

Like IncludeTag, but an entire tree of files is being probed to find the one that has the most specified value. This is a taglib-implementation of the 'LEAFFILE' command. A full description of this command can be found in the mmbase-taglib.xml file. Note that the interesting functionality is implemented in the 'TreeHelper' class.

Version:
$Id: LeafFileTag.java 35335 2009-05-21 08:14:41Z michiel $
Author:
Johannes Verelst
See Also:
Serialized Form

Field Summary
protected  Attribute notFound
           
protected  Attribute objectList
           
protected  TreeHelper th
           
 
Fields inherited from class org.mmbase.bridge.jsp.taglib.pageflow.UrlTag
absolute, block, escapeAmps, extraParameters, frameworkParameters, page, parameters, referids, url
 
Fields inherited from class org.mmbase.bridge.jsp.taglib.CloudReferrerTag
cloudId
 
Fields inherited from class org.mmbase.bridge.jsp.taglib.ContextReferrerTag
contextId, EVAL_BODY, helper, id, pageContextTag, referid, writerid
 
Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport
bodyContent
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
pageContext
 
Fields inherited from interface org.mmbase.bridge.jsp.taglib.ParamHandler
KEY, SCOPE
 
Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
 
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
Constructor Summary
LeafFileTag()
           
 
Method Summary
 void doFinally()
           
protected  boolean doMakeRelative()
          Whether URL must be generatored relatively.
protected  String getPage(String p)
           
protected  void initTag(boolean internal)
           
 void setNotfound(String n)
           
 void setObjectlist(String p)
           
 
Methods inherited from class org.mmbase.bridge.jsp.taglib.pageflow.UrlTag
addFrameworkParameter, addParameter, doAfterBody, doAfterBodySetValue, doEndTag, doStartTag, encode, escapeAmps, getAbsolute, getComponent, getExtraParameters, getPage, getParameters, getUrl, getUrl, initDoEndTag, makeRelative, setAbsolute, setBlock, setEncode, setEscapeamps, setInternal, setPage, setProcess, setReferids
 
Methods inherited from class org.mmbase.bridge.jsp.taglib.CloudReferrerTag
fillStandardParameters, findCloudProvider, findCloudProvider, getCloudContext, getCloudVar, getLocale, getNode, getNodeOrNull, setCloud
 
Methods inherited from class org.mmbase.bridge.jsp.taglib.ContextReferrerTag
appendMoreParameters, doCatch, findLoopOrQuery, findParentTag, findParentTag, findWriter, findWriter, getAttribute, getAttribute, getAttributeBoolean, getAttributeInteger, getAttributeInteger, getAttributeValue, getContentTag, getContextProvider, getContextTag, getCurrentBlock, getDefaultLocale, getEscapedValue, getFormTag, getId, getLocaleFromContext, getObject, getObjectConditional, getPageContext, getPageContextTag, getQuery, getReferid, getString, getTaglibVersion, getThreadPageContext, getTimeZone, getWriterValue, haveBody, release, setContext, setEscape, setId, setJspvar, setListdelimiter, setPageContext, setReferid, setVartype, setWrite, setWriter
 
Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, setBodyContent
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getParent, getValue, getValues, removeValue, setParent, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.jsp.tagext.Tag
getParent, setParent
 

Field Detail

th

protected TreeHelper th

objectList

protected Attribute objectList

notFound

protected Attribute notFound
Constructor Detail

LeafFileTag

public LeafFileTag()
Method Detail

setObjectlist

public void setObjectlist(String p)
                   throws JspTagException
Throws:
JspTagException

setNotfound

public void setNotfound(String n)
                 throws JspTagException
Throws:
JspTagException

getPage

protected String getPage(String p)
                  throws JspTagException
Overrides:
getPage in class UrlTag
Throws:
JspTagException

initTag

protected void initTag(boolean internal)
                throws JspTagException
Overrides:
initTag in class UrlTag
Throws:
JspTagException

doFinally

public void doFinally()
Specified by:
doFinally in interface TryCatchFinally
Overrides:
doFinally in class ContextReferrerTag

doMakeRelative

protected boolean doMakeRelative()
Description copied from class: UrlTag
Whether URL must be generatored relatively. This default to false, and can be configured with the servlet context init parameter 'mmbase.taglib.url.makerelative'. It can be useful to be sure that url's are relative, if e.g. the context path is taken away in an URL-rewrite (e.g. by proxy). This might give problems with redirects, but if you happen to solve that too, or don't do that...

Overrides:
doMakeRelative in class UrlTag


MMBase 2.0-SNAPSHOT - null