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

java.lang.Object
  extended byjavax.servlet.jsp.tagext.TagSupport
      extended byjavax.servlet.jsp.tagext.BodyTagSupport
          extended byorg.mmbase.bridge.jsp.taglib.ContextReferrerTag
              extended byorg.mmbase.bridge.jsp.taglib.CloudReferrerTag
                  extended byorg.mmbase.bridge.jsp.taglib.pageflow.UrlTag
                      extended byorg.mmbase.bridge.jsp.taglib.pageflow.LeafFileTag
All Implemented Interfaces:
BodyTag, IterationTag, ParamHandler, Serializable, Tag

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,v 1.14 2006/06/22 13:17:46 johannes Exp $
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
encode, escapeAmps, extraParameters, page
 
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 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
 int doEndTag()
           
protected  boolean doMakeRelative()
          Whether URL must be generatored relatively.
 int doStartTag()
           
protected  String getPage()
           
protected  String getUrl(boolean writeamp, boolean encode)
          Returns url with the extra parameters (of referids and sub-param-tags).
 void setNotfound(String n)
           
 void setObjectlist(String p)
           
 
Methods inherited from class org.mmbase.bridge.jsp.taglib.pageflow.UrlTag
addContext, addParameter, doAfterBody, doAfterBodySetValue, getUrl, getUrl, initDoEndTag, makeRelative, setAbsolute, setEncode, setEscapeamps, setPage, setReferids, useAbsoluteAttribute
 
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
findLoopOrQuery, findParentTag, findParentTag, findParentTag, findParentTag, findWriter, findWriter, getAttribute, getAttributeBoolean, getAttributeInteger, getAttributeInteger, getAttributeValue, getContentTag, getContextProvider, getContextTag, getDefaultLocale, getEscapedValue, getId, getObject, getObjectConditional, getPageContext, getPageContextTag, getReferid, getString, getTaglibVersion, 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

objectList

protected Attribute objectList

th

protected TreeHelper th

notFound

protected Attribute notFound
Constructor Detail

LeafFileTag

public LeafFileTag()
Method Detail

setNotfound

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

doStartTag

public int doStartTag()
               throws JspTagException
Specified by:
doStartTag in interface Tag
Overrides:
doStartTag in class UrlTag
Throws:
JspTagException

getPage

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

doEndTag

public int doEndTag()
             throws JspTagException
Specified by:
doEndTag in interface Tag
Overrides:
doEndTag in class UrlTag
Throws:
JspTagException

setObjectlist

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

getUrl

protected String getUrl(boolean writeamp,
                        boolean encode)
                 throws JspTagException
Description copied from class: UrlTag
Returns url with the extra parameters (of referids and sub-param-tags).

Overrides:
getUrl in class UrlTag
Throws:
JspTagException

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 build 1.8.1.20060716