ast
14 years ago
cache
14 years ago
XmlImportConfig.php
14 years ago
XmlImportCsvParse.php
14 years ago
XmlImportException.php
14 years ago
XmlImportParser.php
14 years ago
XmlImportReaderInterface.php
14 years ago
XmlImportStringReader.php
14 years ago
XmlImportTemplate.php
14 years ago
XmlImportTemplateCodeGenerator.php
14 years ago
XmlImportTemplateParser.php
14 years ago
XmlImportTemplateScanner.php
14 years ago
XmlImportToken.php
14 years ago
XmlImportToken.php
167 lines
| 1 | <?php |
| 2 | /** |
| 3 | * @author Olexandr Zanichkovsky <olexandr.zanichkovsky@zophiatech.com> |
| 4 | * @package General |
| 5 | */ |
| 6 | |
| 7 | /** |
| 8 | * Represents a template token |
| 9 | */ |
| 10 | class XmlImportToken |
| 11 | { |
| 12 | /** |
| 13 | * Token Kind |
| 14 | * |
| 15 | * @var string |
| 16 | */ |
| 17 | private $kind; |
| 18 | |
| 19 | /** |
| 20 | * Token value |
| 21 | * |
| 22 | * @var mixed |
| 23 | */ |
| 24 | private $value; |
| 25 | |
| 26 | /** |
| 27 | * Token is a text |
| 28 | */ |
| 29 | const KIND_TEXT = 'TEXT'; |
| 30 | |
| 31 | /** |
| 32 | * Token is a print statement |
| 33 | */ |
| 34 | const KIND_PRINT = 'PRINT'; |
| 35 | |
| 36 | /** |
| 37 | * Token is a XPath literal |
| 38 | */ |
| 39 | const KIND_XPATH = "XPATH"; |
| 40 | |
| 41 | /** |
| 42 | * Token is an IF keyword |
| 43 | */ |
| 44 | const KIND_IF = "IF"; |
| 45 | |
| 46 | /** |
| 47 | * Token is an ENDIF keyword |
| 48 | */ |
| 49 | const KIND_ENDIF = "ENDIF"; |
| 50 | |
| 51 | /** |
| 52 | * Token is an ELSEIF keyword |
| 53 | */ |
| 54 | const KIND_ELSEIF = "ELSEIF"; |
| 55 | |
| 56 | /** |
| 57 | * Token is an ELSE keyword |
| 58 | */ |
| 59 | const KIND_ELSE = "ELSE"; |
| 60 | |
| 61 | /** |
| 62 | * Token is a WITH keyword |
| 63 | */ |
| 64 | const KIND_WITH = "WITH"; |
| 65 | |
| 66 | /** |
| 67 | * Token is an ENDWITH keyword |
| 68 | */ |
| 69 | const KIND_ENDWITH = "ENDWITH"; |
| 70 | |
| 71 | /** |
| 72 | * Token is a FOREACH keyword |
| 73 | */ |
| 74 | const KIND_FOREACH = "FOREACH"; |
| 75 | |
| 76 | /** |
| 77 | * Token is an ENDFOREACH keyword |
| 78 | */ |
| 79 | const KIND_ENDFOREACH = "ENDFOREACH"; |
| 80 | |
| 81 | /** |
| 82 | * Token is a function name |
| 83 | */ |
| 84 | const KIND_FUNCTION = "FUNCTION"; |
| 85 | |
| 86 | /** |
| 87 | * Token is a comma |
| 88 | */ |
| 89 | const KIND_COMMA = "COMMA"; |
| 90 | |
| 91 | /** |
| 92 | * Token is an open brace |
| 93 | */ |
| 94 | const KIND_OPEN = "OPEN"; |
| 95 | |
| 96 | /** |
| 97 | * Token is a close brace |
| 98 | */ |
| 99 | const KIND_CLOSE = "CLOSE"; |
| 100 | |
| 101 | /** |
| 102 | * Token is a string literal |
| 103 | */ |
| 104 | const KIND_STRING = "STRING"; |
| 105 | |
| 106 | /** |
| 107 | * Token is an integer number |
| 108 | */ |
| 109 | const KIND_INT = "INT"; |
| 110 | |
| 111 | /** |
| 112 | * Token is a float number |
| 113 | */ |
| 114 | const KIND_FLOAT = "FLOAT"; |
| 115 | |
| 116 | /** |
| 117 | * Token is a math on the price element |
| 118 | */ |
| 119 | const KIND_MATH = "MATH"; |
| 120 | |
| 121 | /** |
| 122 | * Token is a math on the price element |
| 123 | */ |
| 124 | const KIND_OPERATION = "OPERATION"; |
| 125 | |
| 126 | /** |
| 127 | * Creates new instance of a token |
| 128 | * |
| 129 | * @param string $kind kind of a token |
| 130 | * @param mixed $value value of a token |
| 131 | */ |
| 132 | public function __construct($kind, $value = null) |
| 133 | { |
| 134 | $this->kind = $kind; |
| 135 | $this->value = $value; |
| 136 | } |
| 137 | |
| 138 | /** |
| 139 | * Gets a kind of a token |
| 140 | * |
| 141 | * @return string |
| 142 | */ |
| 143 | public function getKind() |
| 144 | { |
| 145 | return $this->kind; |
| 146 | } |
| 147 | |
| 148 | /** |
| 149 | * Gets a value of a token |
| 150 | * |
| 151 | * @return mixed |
| 152 | */ |
| 153 | public function getValue() |
| 154 | { |
| 155 | return $this->value; |
| 156 | } |
| 157 | |
| 158 | /** |
| 159 | * String representation of a token |
| 160 | * |
| 161 | * @return string |
| 162 | */ |
| 163 | public function __toString() |
| 164 | { |
| 165 | return '--> ' . $this->getKind() . (is_null($this->value) ? '' : ': "' . $this->getValue() . '"'); |
| 166 | } |
| 167 | } |