namespace PhalconPlus\Base;
use PhalconPlus\Assert\Assertion as Assert;
use PhalconPlus\Enum\OrderByDirection;
class ProtoOrderBy extends ProtoBuffer
{
/**
* @required
*/
protected property;
/**
* @required
*/
protected direction;
/**
* @optional
*/
protected alias = "";
public function getProperty() -> string
{
return this->property;
}
public function setProperty(string! property) ->
{
let this->property = property;
return this;
}
public function setDirection( orderBy) ->
{
let this->direction = orderBy;
return this;
}
public function setAlias(string! alias) ->
{
let this->alias = alias;
return this;
}
public function getDirection() ->
{
return this->direction;
}
public function getAlias() -> string
{
return this->alias;
}
public function __toString()
{
Assert::notEmpty(this->property);
Assert::notEmpty(this->direction);
var orderBy = "";
if !empty this->alias {
let orderBy = orderBy . this->alias . ".";
}
return orderBy . this->property . " " . this->direction;
}
}