org.makumba.list.tags
Class IfTag

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by org.makumba.analyser.AnalysableElement
          extended by org.makumba.analyser.AnalysableTag
              extended by org.makumba.commons.tags.GenericMakumbaTag
                  extended by org.makumba.list.tags.GenericListTag
                      extended by org.makumba.list.tags.IfTag
All Implemented Interfaces:
Serializable, BodyTag, IterationTag, JspTag, Tag

public class IfTag
extends GenericListTag
implements BodyTag

If tag will accept test="..." similar to value tag, and will show body only if OQL expression evaluates to true (integer 1).

Since:
makumba-0.5.9.11
Version:
$Id: IfTag.java 5151 2010-05-18 19:07:27Z rosso_nero $
Author:
Frederik Habilis
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.makumba.analyser.AnalysableElement
AnalysableElement.FilePositionElementComparator
 
Field Summary
(package private)  String testExpr
           
 
Fields inherited from class org.makumba.list.tags.GenericListTag
fdp
 
Fields inherited from class org.makumba.commons.tags.GenericMakumbaTag
extraFormatting, extraFormattingParams, NEEDED_RESOURCES, params
 
Fields inherited from class org.makumba.analyser.AnalysableTag
ATTRIBUTE_VALUES_TRUE_FALSE, tagData, tagKey, TYPES
 
Fields inherited from class org.makumba.analyser.AnalysableElement
ANALYSIS_STATE
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
id, 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
IfTag()
           
 
Method Summary
 int doAnalyzedStartTag(PageCache pageCache)
          Asks the ValueComputer to calculate the expression, and SKIP_BODY if false.
 void doEndAnalyze(PageCache pageCache)
          Tells the ValueComputer to finish analysis, check for proper test result type
 void doInitBody()
           
 void doStartAnalyze(PageCache pageCache)
          Determines the ValueComputer and associates it with the tagKey .
 void setBodyContent(BodyContent bc)
           
 void setTagKey(PageCache pageCache)
          Sets tagKey to uniquely identify this tag.
 void setTest(String s)
           
 String toString()
           
 
Methods inherited from class org.makumba.list.tags.GenericListTag
addToParentListKey, doEndTag, getDatabaseName, getDataSourceName, onlyRootArgument, setDb
 
Methods inherited from class org.makumba.commons.tags.GenericMakumbaTag
doAnalyzedCleanup, doStartTag, getParams, initialiseState, isAttribute, setAddTitle, setCols, setDefault, setElementSeparator, setEllipsis, setEllipsisLength, setEmpty, setFormat, setHtml, setLabelSeparator, setLineSeparator, setLongLineLength, setMaxlength, setMaxLength, setOnClick, setOnDblClick, setOnKeyDown, setOnKeyPress, setOnKeyUp, setOnMouseDown, setOnMouseMove, setOnMouseOut, setOnMouseOver, setOnMouseUp, setRows, setSize, setStyle, setStyleClass, setStyleId, setTitle, setType, setType, setUrlEncode
 
Methods inherited from class org.makumba.analyser.AnalysableTag
addTagText, allowsIdenticalKey, canHaveBody, checkAttributeValues, doAnalyzedEndTag, getElementData, getPageContext, getPageTextInfo, getTagKey, getTagText, needPageCache, notEmpty, onlyInt, registerAttributeValues, registerPossibleAttributeValues, setTagDataAtAnalysis
 
Methods inherited from class org.makumba.analyser.AnalysableElement
checkTagFound, discardJSPParsingData, getAnalyzedElementData, getCurrentBodyTagData, getElementAfter, getElementBefore, getPageCache, getPageCache, getRunningElementData, getTagByAttribute, getTagById, getThreadElementStack, initializeThread, keepAnalysisState, setAnalyzedElementData, setRunningElementData
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
doAfterBody, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setPageContext, setParent, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.servlet.jsp.tagext.IterationTag
doAfterBody
 
Methods inherited from interface javax.servlet.jsp.tagext.Tag
doEndTag, doStartTag, getParent, release, setPageContext, setParent
 

Field Detail

testExpr

String testExpr
Constructor Detail

IfTag

public IfTag()
Method Detail

setTest

public void setTest(String s)

setBodyContent

public void setBodyContent(BodyContent bc)
Specified by:
setBodyContent in interface BodyTag

doInitBody

public void doInitBody()
Specified by:
doInitBody in interface BodyTag

setTagKey

public void setTagKey(PageCache pageCache)
Sets tagKey to uniquely identify this tag. Called at analysis time before doStartAnalyze() and at runtime before doMakumbaStartTag()

Overrides:
setTagKey in class AnalysableTag
Parameters:
pageCache - the page cache of the current page
See Also:
AnalysableTag.doAnalyzedStartTag(org.makumba.analyser.PageCache), AnalysableTag.doStartAnalyze(org.makumba.analyser.PageCache)

doStartAnalyze

public void doStartAnalyze(PageCache pageCache)
Determines the ValueComputer and associates it with the tagKey . If we use Hibernate we need to adjust the syntax

Overrides:
doStartAnalyze in class AnalysableTag
Parameters:
pageCache - the page cache of the current page FIXME QueryExecutionProvider should tell us the syntax for the if boolean test

doEndAnalyze

public void doEndAnalyze(PageCache pageCache)
Tells the ValueComputer to finish analysis, check for proper test result type

Overrides:
doEndAnalyze in class AnalysableTag
Parameters:
pageCache - the page cache of the current page

doAnalyzedStartTag

public int doAnalyzedStartTag(PageCache pageCache)
                       throws JspException,
                              LogicException
Asks the ValueComputer to calculate the expression, and SKIP_BODY if false.

Overrides:
doAnalyzedStartTag in class AnalysableTag
Parameters:
pageCache - the page cache of the current page
Throws:
JspException
LogicException
See Also:
AnalysableTag.doStartTag()

toString

public String toString()
Overrides:
toString in class GenericMakumbaTag