You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

172 lines
2.5 KiB

<?php
/**
* @author Olexandr Zanichkovsky <olexandr.zanichkovsky@zophiatech.com>
* @package General
*/
/**
* Represents a template token
*/
class XmlImportToken
{
/**
* Token Kind
*
* @var string
*/
private $kind;
/**
* Token value
*
* @var mixed
*/
private $value;
/**
* Token is a text
*/
const KIND_TEXT = 'TEXT';
/**
* Token is a print statement
*/
const KIND_PRINT = 'PRINT';
/**
* Token is a XPath literal
*/
const KIND_XPATH = "XPATH";
/**
* Token is an IF keyword
*/
const KIND_IF = "IF";
/**
* Token is an ENDIF keyword
*/
const KIND_ENDIF = "ENDIF";
/**
* Token is an ELSEIF keyword
*/
const KIND_ELSEIF = "ELSEIF";
/**
* Token is an ELSE keyword
*/
const KIND_ELSE = "ELSE";
/**
* Token is a WITH keyword
*/
const KIND_WITH = "WITH";
/**
* Token is an ENDWITH keyword
*/
const KIND_ENDWITH = "ENDWITH";
/**
* Token is a FOREACH keyword
*/
const KIND_FOREACH = "FOREACH";
/**
* Token is an ENDFOREACH keyword
*/
const KIND_ENDFOREACH = "ENDFOREACH";
/**
* Token is a function name
*/
const KIND_FUNCTION = "FUNCTION";
/**
* Token is a comma
*/
const KIND_COMMA = "COMMA";
/**
* Token is an open brace
*/
const KIND_OPEN = "OPEN";
/**
* Token is a close brace
*/
const KIND_CLOSE = "CLOSE";
/**
* Token is a string literal
*/
const KIND_STRING = "STRING";
/**
* Token is an integer number
*/
const KIND_INT = "INT";
/**
* Token is a float number
*/
const KIND_FLOAT = "FLOAT";
/**
* Token is a math on the price element
*/
const KIND_MATH = "MATH";
/**
* Token is a spintax
*/
const KIND_SPINTAX = "SPINTAX";
/**
* Token is a math on the price element
*/
const KIND_OPERATION = "OPERATION";
/**
* Creates new instance of a token
*
* @param string $kind kind of a token
* @param mixed $value value of a token
*/
public function __construct($kind, $value = null)
{
$this->kind = $kind;
$this->value = $value;
}
/**
* Gets a kind of a token
*
* @return string
*/
public function getKind()
{
return $this->kind;
}
/**
* Gets a value of a token
*
* @return mixed
*/
public function getValue()
{
return $this->value;
}
/**
* String representation of a token
*
* @return string
*/
public function __toString()
{
return '--> ' . $this->getKind() . (is_null($this->value) ? '' : ': "' . $this->getValue() . '"');
}
}