Package org.apache.tapestry5.corelib.components

## Class If

- java.lang.Object
- - org.apache.tapestry5.corelib.base.AbstractConditional
  - - org.apache.tapestry5.corelib.components.If

-     public class If
      extends AbstractConditional

  Conditionally renders its body. May render its tag and any informal parameters.

  Component Parameters
  Name | Type | Flags | Default | Default Prefix
  --- | --- | --- | --- | ---
  else | org.apache.tapestry5.Block |  |  | literal
  An alternate org.apache.tapestry5.Block to render if #test() is false. The default, null, means render nothing in that situation.
  negate | boolean |  |  | prop
  Optional parameter to invert the test. If true, then the body is rendered when the test parameter is false (not true).
  test | boolean | Required |  | prop
  If true, then the body of the If component is rendered. If false, the body is omitted.
  then | org.apache.tapestry5.Block |  |  | literal
  The org.apache.tapestry5.Block to render if #test() is true. The default, null, means render the component body in that situation..

  ### Examples

    ### Start.tml

        <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
            <body>
                <h1>Welcome!</h1>

                <t:if test="user">
                    Welcome back, ${user.firstName}
                    <p:else>
                        <t:pagelink page="login">Login</t:pagelink> /
                        <t:pagelink page="register">Register</t:pagelink>
                    </p:else>
                </t:if>

                . . .

        </html>

    Here, the main text is rendered if the user is logged in (the user property will be non-null after the user logs in). Otherwise, links to a login and register page are rendered.

  ### Notes

    Tapestry has many built in coercions to boolean:

    String
      True if non-blank and not the literal string "false" (case insensitive)
    Number
      True if non-zero
    Collection
      True if non-empty
    Object
      True (as long as it's not null)

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `If()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected boolean` | `test()` | Performs the test via the parameters; return true to render the body of the component, false to render the else block (or nothing).

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### If

          public If()

  - ### Method Detail

    - #### test

          protected boolean test()

      Description copied from class: `AbstractConditional`
      Performs the test via the parameters; return true to render the body of the component, false to render the else block (or nothing).
      Specified by:
        `test` in class `AbstractConditional`
      Returns:
        test parameter (if negate is false), or test parameter inverted (if negate is true)