Updated code comments for PHPDocumentor - XmlQueryParser, QueryParser, DBParser and column classes

git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@12419 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ucorina 2012-12-17 15:53:10 +00:00
parent 39c2f06aa7
commit 09ff5b94ac
11 changed files with 83 additions and 55 deletions

View file

@ -39,17 +39,18 @@ if(!defined('__XE_LOADED_XML_CLASS__')){
}
/**
* New XmlQueryParser class
* New XmlQueryParser class <br />
* Parses XE XML query files
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml
* @package classes\xml
* @version 0.1
*/
class XmlQueryParser extends XmlParser {
/**
* Create XmlQueryParser instance for Singleton
*
* @return XmlQueryParser object
*/
function &getInstance()

View file

@ -3,12 +3,12 @@
* File containing the DBParser class
*/
/**
* Escapes query statements:
* - column names: member.member_srl => "member"."member_srl"
* - expressions: SUM(member.member_srl) => SUM("member"."member_srl")
* Escapes query statements: <br />
* - column names: member.member_srl =&gt; "member"."member_srl" <br />
* - expressions: SUM(member.member_srl) =&gt; SUM("member"."member_srl") <br />
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml/xmlquery
* @package classes\xml\xmlquery
* @version 0.1
*/
class DBParser
@ -17,7 +17,7 @@ class DBParser
* Character for escape target value on the left
*
* For example, in CUBRID left and right escape
* chars are the same, the double quote - "
* chars are the same, the double quote - " <br />
* But for SQL Server, the escape is made with
* [double brackets], so the left and right char differ
*
@ -30,7 +30,7 @@ class DBParser
* Character for escape target value on the right
*
* For example, in CUBRID left and right escape
* chars are the same, the double quote - "
* chars are the same, the double quote - " <br />
* But for SQL Server, the escape is made with
* [double brackets], so the left and right char differ
*
@ -66,6 +66,7 @@ class DBParser
/**
* Get escape character
*
* @param string $leftOrRight left or right
* @return string
*/
@ -77,6 +78,7 @@ class DBParser
/**
* Escape the value
*
* @param mixed $name
* @return string
*/
@ -87,6 +89,7 @@ class DBParser
/**
* Escape the string value
*
* @param string $name
* @return string
*/
@ -97,6 +100,7 @@ class DBParser
/**
* Escape the string value
*
* @param string $value
* @return string
*/
@ -152,7 +156,7 @@ class DBParser
/**
* Checks to see if a given column name is unqualified
*
* Ex: "member_srl" -> unqualified
* Ex: "member_srl" -> unqualified <br />
* "member"."member_srl" -> qualified
*
* @param string $column_name
@ -167,7 +171,7 @@ class DBParser
/**
* Checks to see if a given column name is qualified
*
* Ex: "member_srl" -> unqualified
* Ex: "member_srl" -> unqualified <br />
* "member"."member_srl" -> qualified
*
* @param string $column_name
@ -182,12 +186,17 @@ class DBParser
/**
* Escapes a query expression
*
* This can be:
* - a column name: "member_srl" or "xe_member"."member_srl"
* - an expression:
* - LEFT(UPPER("content"))
* - readed_count + voted_count
* - CAST(regdate as DATE)
* An expression can be: <br />
* <ul>
* <li> a column name: "member_srl" or "xe_member"."member_srl"
* <li> an expression:
* <ul>
* <li> LEFT(UPPER("content")) <br />
* <li> readed_count + voted_count <br />
* <li> CAST(regdate as DATE) </li>
* </ul>
* </li>
* </ul>
*
* @param $column_name
* @return string

View file

@ -3,17 +3,18 @@
* File containing the QueryParser class
*/
/**
* Parses an XML Object and returns a string used for generating the PHP cache file
* Parses an XML Object and returns a string used for generating the PHP cache file <br />
* The XML Object structure must be the one defined in the XmlParser class
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml/xmlquery
* @package classes\xml\xmlquery
* @version 0.1
*/
class QueryParser {
/**
* Property containing the associated QueryTag object
*
* @var QueryTag object
*/
var $queryTag;
@ -34,9 +35,9 @@ class QueryParser {
}
/**
* Return table information
* Used for finding column type info (string/numeric)
* Returns table information
*
* Used for finding column type info (string/numeric) <br />
* Obtains the table info from XE's XML schema files
*
* @param object $query_id

View file

@ -1,13 +1,12 @@
<?php
/**
* ColumnTag class
* Models the <column> tag inside an XML Query file
* Since the <column> tag supports different attributes depending on
* Models the &lt;column&gt; tag inside an XML Query file <br />
* Since the &lt;column&gt; tag supports different attributes depending on
* the type of query (select, update, insert, delete) this is only
* the base class for the classes that will model each type <column> tag.
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml/xmlquery/tags/column
* @package classes\xml\xmlquery\tags\column
* @version 0.1
*/
class ColumnTag

View file

@ -1,26 +1,29 @@
<?php
/**
* InsertColumnTag
* Models the <column> tag inside an XML Query file whose action is 'insert'
* Models the &lt;column&gt; tag inside an XML Query file whose action is 'insert'
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml/xmlquery/tags/column
* @package classes\xml\xmlquery\tags\column
* @version 0.1
*/
class InsertColumnTag extends ColumnTag
{
/**
* Argument
*
* @var QueryArgument object
*/
var $argument;
/**
* Constructor
*
* @param object $column
*
* @return void
*/
function InsertColumnTag($column) {
function InsertColumnTag($column)
{
parent::ColumnTag($column->attrs->name);
$dbParser = DB::getParser();
$this->name = $dbParser->parseColumnName($this->name);
@ -34,7 +37,8 @@ class InsertColumnTag extends ColumnTag
*
* @return string
*/
function getExpressionString(){
function getExpressionString()
{
return sprintf('new InsertExpression(\'%s\', ${\'%s_argument\'})'
, $this->name
, $this->argument->argument_name);
@ -45,7 +49,8 @@ class InsertColumnTag extends ColumnTag
*
* @return QueryArgument
*/
function getArgument(){
function getArgument()
{
return $this->argument;
}

View file

@ -1,10 +1,9 @@
<?php
/**
* InsertColumnTagWithoutArgument
* Models the <column> tag inside an XML Query file whose action is 'insert-select'
* Models the &lt;column&gt; tag inside an XML Query file whose action is 'insert-select'
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml/xmlquery/tags/column
* @package classes\xml\xmlquery\tags\column
* @version 0.1
*/
class InsertColumnTagWithoutArgument extends ColumnTag

View file

@ -1,21 +1,23 @@
<?php
/**
* InsertColumnsTag class
* Models the <columns> tag inside an XML Query file whose action is 'insert'
* Models the &lt;columns&gt; tag inside an XML Query file whose action is 'insert'
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml/xmlquery/tags/column
* @package classes\xml\xmlquery\tags\column
* @version 0.1
*/
class InsertColumnsTag{
class InsertColumnsTag
{
/**
* Column list
*
* @var array value is InsertColumnTag object
*/
var $columns;
/**
* Constructor
*
* @param array|string $xml_columns
* @return void
*/
@ -37,6 +39,7 @@ class InsertColumnsTag{
/**
* InsertColumnTag object to string
*
* @return string
*/
function toString()
@ -52,6 +55,7 @@ class InsertColumnsTag{
/**
* Return argument list
*
* @return array
*/
function getArguments()

View file

@ -1,28 +1,30 @@
<?php
/**
* SelectColumnTag
* Models the <column> tag inside an XML Query file whose action is 'select'
* Models the &lt;column&gt; tag inside an XML Query file whose action is 'select'
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml/xmlquery/tags/column
* @package classes\xml\xmlquery\tags\column
* @version 0.1
*/
class SelectColumnTag extends ColumnTag
{
/**
* Column alias
*
* @var string
*/
var $alias;
/**
* Click count status
*
* @var bool
*/
var $click_count;
/**
* Constructor
*
* @param string|object $column
* @return void
*/
@ -48,13 +50,16 @@ class SelectColumnTag extends ColumnTag
* Returns the string to be output in the cache file
*
* A select column tag in an XML query can be used for:
* - a star expression: SELECT *
* - a click count expression: SELECT + UPDATE
* - any other select expression (column name, function call etc).
* <ul>
* <li> a star expression: SELECT *
* <li> a click count expression: SELECT + UPDATE
* <li> any other select expression (column name, function call etc). </li>
* </ul>
*
* @return string
*/
function getExpressionString(){
function getExpressionString()
{
if($this->name == '*') return "new StarExpression()";
if($this->click_count)
return sprintf('new ClickCountExpression(\'%s\', %s, $args->%s)', $this->name, $this->alias ? '\'' . $this->alias . '\'' : "''",$this->click_count);

View file

@ -1,16 +1,16 @@
<?php
/**
* SelectColumnsTag class
* Models the <columns> tag inside an XML Query file whose action is 'select'
* Models the &lt;columns&gt; tag inside an XML Query file whose action is 'select'
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml/xmlquery/tags/column
* @package classes\xml\xmlquery\tags\column
* @version 0.1
*/
class SelectColumnsTag
{
/**
* Column list
*
* @var array value is SelectColumnTag object
*/
var $columns;

View file

@ -1,27 +1,30 @@
<?php
/**
* UpdateColumnTag
* Models the <column> tag inside an XML Query file whose action is 'update'
* Models the &lt;column&gt; tag inside an XML Query file whose action is 'update'
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml/xmlquery/tags/column
* @package classes\xml\xmlquery\tags\column
* @version 0.1
*/
class UpdateColumnTag extends ColumnTag {
class UpdateColumnTag extends ColumnTag
{
/**
* Argument
*
* @var QueryArgument object
*/
var $argument;
/**
* Default value
*
* @var string
*/
var $default_value;
/**
* Constructor
*
* @param object $column
* @return void
*/

View file

@ -1,21 +1,23 @@
<?php
/**
* UpdateColumnsTag
* Models the <columns> tag inside an XML Query file whose action is 'update'
* Models the &lt;columns&gt; tag inside an XML Query file whose action is 'update'
*
* @author Corina Udrescu (corina.udrescu@arnia.ro)
* @package /classes/xml/xmlquery/tags/column
* @package classes\xml\xmlquery\tags\column
* @version 0.1
*/
class UpdateColumnsTag{
class UpdateColumnsTag
{
/**
* Column list
*
* @var array value is UpdateColumnTag object
*/
var $columns;
/**
* Constructor
*
* @param array|object $xml_columns
* @return void
*/