XmlImportAstElseif.php 1.35 KB
Newer Older
imac's avatar
imac committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
<?php
/**
 * @author Olexandr Zanichkovsky <olexandr.zanichkovsky@zophiatech.com>
 * @package AST
 */

/**
 * Represents ELSEIF branch of IF clause
 */
class XmlImportAstElseif
{
  /**
   * ELSEIF branch condition
   *
   * @var XmlImportAstExpression
   */
  private $condition;

  /**
   * ELSEIF branch body
   *
   * @var XmlImportAstSequence
   */
  private $body;

  /**
   * Creates new instance
   *
   * @param XmlImportAstExpression $condition
   * @param XmlImportAstSequence $body
   */
  public function __construct(XmlImportAstExpression $condition, XmlImportAstSequence $body)
  {
    $this->condition = $condition;
    $this->body = $body;
  }

  /**
   * Gets ELSEIF branch condition
   *
   * @return XmlImportAstExpression
   */
  public function getCondition()
  {
    return $this->condition;
  }

  /**
   * Gets body
   *
   * @return XmlImportAstSequence
   */
  public function getBody()
  {
    return $this->body;
  }

  /**
   * String representation of an object
   *
   * @return string 
   */
  public function __toString()
  {
    $result = "  Elseif:\n";
    $result .= '  Condition: ' . $this->condition . "\n";
    $result .= "  Body:\n";
    $array = explode("\n", $this->body);
    for ($i = 0; $i < count($array); $i++)
    {
      $array[$i] = '    ' . $array[$i];
    }
    $result .= implode("\n", $array) . "\n";
    return $result;
  }
}