# Interface IfTree

All Superinterfaces:
  `StatementTree, Tree`

public interface IfTree extends StatementTree
A tree node for an `if` statement. For example:

      if ( condition )
         thenStatement

      if ( condition )
          thenStatement
      else
          elseStatement

See Java Language Specification:
  14.9 The if Statement
Since:
  1.6

- ## Nested Class Summary

  ### Nested classes/interfaces declared in interface Tree

  `Tree.Kind`
  Modifier and Type
  Interface
  Description
  `static enum`
  `Tree.Kind`
  Enumerates all kinds of trees.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ExpressionTree`
  `getCondition()`
  Returns the condition of the if-statement.
  `StatementTree`
  `getElseStatement()`
  Returns the statement to be executed if the condition is false, or `null` if there is no such statement.
  `StatementTree`
  `getThenStatement()`
  Returns the statement to be executed if the condition is true

  ### Methods declared in interface Tree

  `accept, getKind`
  Modifier and Type
  Method
  Description
  `<R,D> R`
  `accept(TreeVisitor<R,D> visitor, D data)`
  Accept method used to implement the visitor pattern.
  `Tree.Kind`
  `getKind()`
  Returns the kind of this tree.

- ## Method Details

  - ### getCondition

    ExpressionTree getCondition()
    Returns the condition of the if-statement.
    Returns:
      the condition

  - ### getThenStatement

    StatementTree getThenStatement()
    Returns the statement to be executed if the condition is true
    Returns:
      the statement to be executed if the condition is true

  - ### getElseStatement

    StatementTree getElseStatement()
    Returns the statement to be executed if the condition is false, or `null` if there is no such statement.
    Returns:
      the statement to be executed if the condition is false