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

  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 Details

  - ### If

    public If()

- ## Method Details

  - ### 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)