ast
13 years ago
cache
13 years ago
XmlImportConfig.php
13 years ago
XmlImportCsvParse.php
13 years ago
XmlImportException.php
13 years ago
XmlImportParser.php
13 years ago
XmlImportReaderInterface.php
13 years ago
XmlImportStringReader.php
13 years ago
XmlImportTemplate.php
13 years ago
XmlImportTemplateCodeGenerator.php
13 years ago
XmlImportTemplateParser.php
13 years ago
XmlImportTemplateScanner.php
13 years ago
XmlImportToken.php
13 years ago
pclzip.lib.php
13 years ago
XmlImportToken.php
172 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 spintax |
| 123 | */ |
| 124 | const KIND_SPINTAX = "SPINTAX"; |
| 125 | |
| 126 | /** |
| 127 | * Token is a math on the price element |
| 128 | */ |
| 129 | const KIND_OPERATION = "OPERATION"; |
| 130 | |
| 131 | /** |
| 132 | * Creates new instance of a token |
| 133 | * |
| 134 | * @param string $kind kind of a token |
| 135 | * @param mixed $value value of a token |
| 136 | */ |
| 137 | public function __construct($kind, $value = null) |
| 138 | { |
| 139 | $this->kind = $kind; |
| 140 | $this->value = $value; |
| 141 | } |
| 142 | |
| 143 | /** |
| 144 | * Gets a kind of a token |
| 145 | * |
| 146 | * @return string |
| 147 | */ |
| 148 | public function getKind() |
| 149 | { |
| 150 | return $this->kind; |
| 151 | } |
| 152 | |
| 153 | /** |
| 154 | * Gets a value of a token |
| 155 | * |
| 156 | * @return mixed |
| 157 | */ |
| 158 | public function getValue() |
| 159 | { |
| 160 | return $this->value; |
| 161 | } |
| 162 | |
| 163 | /** |
| 164 | * String representation of a token |
| 165 | * |
| 166 | * @return string |
| 167 | */ |
| 168 | public function __toString() |
| 169 | { |
| 170 | return '--> ' . $this->getKind() . (is_null($this->value) ? '' : ': "' . $this->getValue() . '"'); |
| 171 | } |
| 172 | } |