Class ConditionalTagSupport

  • All Implemented Interfaces:
    java.io.Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

    public abstract class ConditionalTagSupport
    extends javax.servlet.jsp.tagext.TagSupport

    Abstract class that facilitates implementation of conditional actions where the boolean result is exposed as a JSP scoped variable. The boolean result may then be used as the test condition in a <c:when> action.

    This base class provides support for:

    • Conditional processing of the action's body based on the returned value of the abstract method condition().
    • Storing the result of condition() as a Boolean object into a JSP scoped variable identified by attributes var and scope.
    Author:
    Shawn Bayern
    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class javax.servlet.jsp.tagext.TagSupport

        id, pageContext
      • 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

      Constructors 
      Constructor Description
      ConditionalTagSupport()
      Base constructor to initialize local state.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract boolean condition()
      Subclasses implement this method to compute the boolean result of the conditional action.
      int doStartTag()
      Includes its body if condition() evaluates to true.
      void release()
      Releases any resources this ConditionalTagSupport may have (or inherit).
      void setScope​(java.lang.String scope)
      Sets the 'scope' attribute.
      void setVar​(java.lang.String var)
      Sets the 'var' attribute.
      • Methods inherited from class javax.servlet.jsp.tagext.TagSupport

        doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConditionalTagSupport

        public ConditionalTagSupport()
        Base constructor to initialize local state. As with TagSupport, subclasses should not implement constructors with arguments, and no-argument constructors implemented by subclasses must call the superclass constructor.
    • Method Detail

      • condition

        protected abstract boolean condition()
                                      throws javax.servlet.jsp.JspTagException

        Subclasses implement this method to compute the boolean result of the conditional action. This method is invoked once per tag invocation by doStartTag().

        Returns:
        a boolean representing the condition that a particular subclass uses to drive its conditional logic.
        Throws:
        javax.servlet.jsp.JspTagException
      • doStartTag

        public int doStartTag()
                       throws javax.servlet.jsp.JspException
        Includes its body if condition() evaluates to true.
        Specified by:
        doStartTag in interface javax.servlet.jsp.tagext.Tag
        Overrides:
        doStartTag in class javax.servlet.jsp.tagext.TagSupport
        Throws:
        javax.servlet.jsp.JspException
      • release

        public void release()
        Releases any resources this ConditionalTagSupport may have (or inherit).
        Specified by:
        release in interface javax.servlet.jsp.tagext.Tag
        Overrides:
        release in class javax.servlet.jsp.tagext.TagSupport
      • setVar

        public void setVar​(java.lang.String var)
        Sets the 'var' attribute.
        Parameters:
        var - Name of the exported scoped variable storing the result of condition().
      • setScope

        public void setScope​(java.lang.String scope)
        Sets the 'scope' attribute.
        Parameters:
        scope - Scope of the 'var' attribute