org.mmbase.bridge.jsp.taglib
Class AbstractNodeProviderTag

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.NodeReferrerTag
                      extended by org.mmbase.bridge.jsp.taglib.AbstractNodeProviderTag
All Implemented Interfaces:
Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, FunctionContainerOrNodeProvider, NodeProvider, TagIdentifier
Direct Known Subclasses:
AbstractNodeListTag, NodeManagerTag, NodeTag, RelatedNodeTag, TreeTag

public abstract class AbstractNodeProviderTag
extends NodeReferrerTag
implements NodeProvider

A base class for tags which provide a node. The general attributes for a NodeProvider are

Version:
$Id: AbstractNodeProviderTag.java 35335 2009-05-21 08:14:41Z michiel $
Author:
Michiel Meeuwissen, Kees Jongenburger
See Also:
Serialized Form

Field Summary
protected  Attribute fieldEscaper
           
protected  NodeProviderHelper nodeHelper
           
 
Fields inherited from class org.mmbase.bridge.jsp.taglib.NodeReferrerTag
parentNodeId
 
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 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
AbstractNodeProviderTag()
           
 
Method Summary
 int doAfterBody()
          Does everything needed on the afterbody tag of every NodeProvider.
 int doEndTag()
           
 void doFinally()
           
protected  void fillVars()
          Fill the jsp and context vars
 Query getGeneratingQuery()
          Returns a query which (a.o) results this Node.
 Node getNodeVar()
           
 void setCommitonclose(String c)
          Whether the node must be commited after the body of the tag if any changes occured
 void setFieldescape(String e)
           
 void setJspvar(String jv)
          NodeProviders support the jspvar attribute (giving a Node jsp var object).
protected  void setNodeVar(Node node)
           
 
Methods inherited from class org.mmbase.bridge.jsp.taglib.NodeReferrerTag
doStartTag, fillStandardParameters, findNode, findNodeProvider, findNodeProvider, getCloudVar, getLocale, getNode, getNode, getNodeFromPageContext, initTag, setElement, setNode
 
Methods inherited from class org.mmbase.bridge.jsp.taglib.CloudReferrerTag
findCloudProvider, findCloudProvider, getCloudContext, 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, setListdelimiter, setPageContext, setPageContextOnly, 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 org.mmbase.bridge.jsp.taglib.TagIdentifier
getId
 
Methods inherited from interface javax.servlet.jsp.tagext.Tag
getParent, setParent
 

Field Detail

nodeHelper

protected final NodeProviderHelper nodeHelper

fieldEscaper

protected Attribute fieldEscaper
Constructor Detail

AbstractNodeProviderTag

public AbstractNodeProviderTag()
Method Detail

setFieldescape

public void setFieldescape(String e)
                    throws JspTagException
Throws:
JspTagException
Since:
MMBase-1.8

setJspvar

public void setJspvar(String jv)
Description copied from interface: NodeProvider
NodeProviders support the jspvar attribute (giving a Node jsp var object).

Specified by:
setJspvar in interface NodeProvider
Overrides:
setJspvar in class ContextReferrerTag

getNodeVar

public Node getNodeVar()
Specified by:
getNodeVar in interface NodeProvider
Returns:
the node contained in the tag NOTE: we have decided to call this method getNodeVar because we use tag attributes with name "node" and type String

setNodeVar

protected void setNodeVar(Node node)

setCommitonclose

public void setCommitonclose(String c)
                      throws JspTagException
Description copied from interface: NodeProvider
Whether the node must be commited after the body of the tag if any changes occured

Specified by:
setCommitonclose in interface NodeProvider
Throws:
JspTagException
Since:
MMBase-1.8

fillVars

protected void fillVars()
                 throws JspTagException
Fill the jsp and context vars

Throws:
JspTagException

getGeneratingQuery

public Query getGeneratingQuery()
                         throws JspTagException
Description copied from interface: NodeProvider
Returns a query which (a.o) results this Node.

Specified by:
getGeneratingQuery in interface NodeProvider
Throws:
JspTagException

doAfterBody

public int doAfterBody()
                throws JspTagException
Does everything needed on the afterbody tag of every NodeProvider. Normally this function would be overrided with one that has to call super.doAfterBody(). But not all servlet engines to call this function if there is no body. So, in that case it should be called from doEndTag, if the tag can do something without a body.

Specified by:
doAfterBody in interface IterationTag
Overrides:
doAfterBody in class BodyTagSupport
Throws:
JspTagException

doEndTag

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

doFinally

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


MMBase 2.0-SNAPSHOT - null