TDAFunctionCallExpression
Overview
Implementation of FunctionCallExpression.
For example, a WHERE clause of this query
SELECT
*
FROM
Customers
WHERE
LTRIM(customer_name) = "TEST"
will be presented as:
with ClientDataModule.tbl_Customers, DynamicWhere do begin
Expression := NewBinaryExpression(
NewFunctionCall(
NewField('', 'customer_name'),
dfkTrimLeft),
NewConstant('TEST',datWideString),
dboEqual);
end;
Location
- Unit: uDAWhere.pas
- Ancestry: TDAWhereExpression | TDAFunctionCallExpression
constructor Create (TDAWhereExpression, TDAFunctionKind) overload
Creates a new expression with a supplied values.
constructor Create(anExpression: TDAWhereExpression; aFunctionKind: TDAFunctionKind)
Parameters:
- anExpression: Expression
- aFunctionKind: Kind of function
AsJson (declared in TDAWhereExpression)
Returns object as JSON string
function AsJson: UnicodeString
AsXML (declared in TDAWhereExpression)
Returns object as XML string
function AsXML: UnicodeString
Clone override
Clones current expression
function Clone: TDAWhereExpression
DoValidate protected (declared in TDAWhereExpression)
Raised exception if aRaiseException
is set
procedure DoValidate(aRaiseException: Boolean; aName: string)
Parameters:
- aRaiseException: specifies should the exception be raised or not.
- aName: Name of property
Expression
Expression
property Expression: TDAWhereExpression read write
FunctionKind
Kind of function
property FunctionKind: TDAFunctionKind read write
Kind (declared in TDAWhereExpression)
Specified kind of TDAWhereExpression
property Kind: TDAWhereKind read
ParseException protected (declared in TDAWhereExpression)
Raises EDAWhereParseXmlException.
procedure ParseException(aName: string)
Parameters:
- aName: property name.
ParseExpression (TROJSONObject, string): TDAWhereExpression protected overload (declared in TDAWhereExpression)
Creates new Where expression from Json object.
function ParseExpression(aItem: TROJSONObject; aName: string): TDAWhereExpression
Parameters:
- aItem: Json object
- aName: Name of property
ParseExpression (IXmlNode, string): TDAWhereExpression protected overload (declared in TDAWhereExpression)
Creates new Where expression from XML node.
function ParseExpression(xr: IXmlNode; aName: string): TDAWhereExpression
Parameters:
- xr: source node.
- aName: Name of property
ParseExpression (TROJSONObject): TDAWhereExpression overload (declared in TDAWhereExpression)
Creates new Where expression from Json object.
class function ParseExpression(anItem: TROJSONObject): TDAWhereExpression
Parameters:
- anItem: json object
ParseExpression (IXmlNode): TDAWhereExpression overload (declared in TDAWhereExpression)
Creates new Where expression from XML node.
class function ParseExpression(xr: IXmlNode): TDAWhereExpression
Parameters:
- xr: given XML node.
ReadFromJson override
Reads where expression from the Json.
procedure ReadFromJson(aItem: TROJSONObject)
Parameters:
- aItem: Json object
ReadFromXml override
Reads where expression from the XML.
procedure ReadFromXml(xr: IXmlNode)
Parameters:
- xr: source node
RemoveEmptyNodes (declared in TDAWhereExpression)
Removes empty XML nodes from given node
class procedure RemoveEmptyNodes(aNode: IXMLNode)
Parameters:
- aNode: node
Validate override
Validates properties of expression.
procedure Validate
WriteToJson override
Writes where expression to the Json object.
procedure WriteToJson(aItem: TROJSONObject)
Parameters:
- aItem: destination object
WriteToXml override
Writes where expression to the XML node.
procedure WriteToXml(sw: IXmlNode)
Parameters:
- sw: destination node
Expression
Expression
property Expression: TDAWhereExpression read write
FunctionKind
Kind of function
property FunctionKind: TDAFunctionKind read write
Kind (declared in TDAWhereExpression)
Specified kind of TDAWhereExpression
property Kind: TDAWhereKind read
ParseExpression (TROJSONObject): TDAWhereExpression overload (declared in TDAWhereExpression)
Creates new Where expression from Json object.
class function ParseExpression(anItem: TROJSONObject): TDAWhereExpression
Parameters:
- anItem: json object
ParseExpression (IXmlNode): TDAWhereExpression overload (declared in TDAWhereExpression)
Creates new Where expression from XML node.
class function ParseExpression(xr: IXmlNode): TDAWhereExpression
Parameters:
- xr: given XML node.
RemoveEmptyNodes (declared in TDAWhereExpression)
Removes empty XML nodes from given node
class procedure RemoveEmptyNodes(aNode: IXMLNode)
Parameters:
- aNode: node
constructor Create (TDAWhereExpression, TDAFunctionKind) overload
Creates a new expression with a supplied values.
constructor Create(anExpression: TDAWhereExpression; aFunctionKind: TDAFunctionKind)
Parameters:
- anExpression: Expression
- aFunctionKind: Kind of function
AsJson (declared in TDAWhereExpression)
Returns object as JSON string
function AsJson: UnicodeString
AsXML (declared in TDAWhereExpression)
Returns object as XML string
function AsXML: UnicodeString
Clone override
Clones current expression
function Clone: TDAWhereExpression
DoValidate protected (declared in TDAWhereExpression)
Raised exception if aRaiseException
is set
procedure DoValidate(aRaiseException: Boolean; aName: string)
Parameters:
- aRaiseException: specifies should the exception be raised or not.
- aName: Name of property
ParseException protected (declared in TDAWhereExpression)
Raises EDAWhereParseXmlException.
procedure ParseException(aName: string)
Parameters:
- aName: property name.
ParseExpression (TROJSONObject, string): TDAWhereExpression protected overload (declared in TDAWhereExpression)
Creates new Where expression from Json object.
function ParseExpression(aItem: TROJSONObject; aName: string): TDAWhereExpression
Parameters:
- aItem: Json object
- aName: Name of property
ParseExpression (IXmlNode, string): TDAWhereExpression protected overload (declared in TDAWhereExpression)
Creates new Where expression from XML node.
function ParseExpression(xr: IXmlNode; aName: string): TDAWhereExpression
Parameters:
- xr: source node.
- aName: Name of property
ReadFromJson override
Reads where expression from the Json.
procedure ReadFromJson(aItem: TROJSONObject)
Parameters:
- aItem: Json object
ReadFromXml override
Reads where expression from the XML.
procedure ReadFromXml(xr: IXmlNode)
Parameters:
- xr: source node
Validate override
Validates properties of expression.
procedure Validate
WriteToJson override
Writes where expression to the Json object.
procedure WriteToJson(aItem: TROJSONObject)
Parameters:
- aItem: destination object
WriteToXml override
Writes where expression to the XML node.
procedure WriteToXml(sw: IXmlNode)
Parameters:
- sw: destination node