WhereExpression

Overview

The base abstract class for classes that represent WHERE expression tree nodes:

  • BinaryExpression combines two other expressions with a binary operator (such as equality or binary logical operators);
  • UnaryExpression represents expressions, based in the application of a unary operator (like the change of sign or logical negation) to another, inner expression;
  • BetweenExpression represents expression that checks belonging to a range of values;
  • ConstantExpression - the constant values that appear in an expression are represented through objects of this class;
  • ListExpression is a complex expression, represented by a list of expressions;
  • ParameterExpression - the parameters (variables) of an expression are represented through objects of this class;
  • FieldExpression represents the part of expression containing table field names;
  • NullExpression represents NULL values used in the expression;
  • MacroExpression represents a call to a macro function, which will be processed by Macro Processor.

This class is used to dynamically build WHERE statements from code (Dynamic Where feature of Data Abstract).

For example, a WHERE part of this query

SELECT * FROM Employees WHERE ((Position = 'Sales Manager') 
OR (Zip IS NULL)) AND (City IN ('Atlanta GA', 'Seattle WA', 'New York CA'))

will be presented as:

WhereExpression lResult;
lResult = new BinaryExpression(new BinaryExpression(
            new BinaryExpression(
              new FieldExpression("Position"),
              new ConstantExpression("Sales Manager", DataType.String),BinaryOperator.Equal),
              new BinaryExpression(
              new FieldExpression("Zip"),
              new NullExpression(),BinaryOperator.Equal),BinaryOperator.Or),

              new BinaryExpression(
                new FieldExpression("City"),
                new ListExpression(
                new WhereExpression[]{ new ConstantExpression("Atlanta GA",DataType.String),
                                   new ConstantExpression("Seattle WA", DataType.String),
                                   new ConstantExpression("New York CA", DataType.String) }),
             BinaryOperator.In),

           BinaryOperator.And);

Location


 

constructor  protected

 

constructor

 

WhereExpression()

 

Sub New()

ApplyFieldMapping

Adjusts the field names in the WhereExpression in accordance with table names of fields in the given schema column mapping.

 

method ApplyFieldMapping(columnMappings: SchemaColumnMappingCollection)

 

void ApplyFieldMapping(SchemaColumnMappingCollection columnMappings)

 

Sub ApplyFieldMapping(columnMappings As SchemaColumnMappingCollection)

Parameters:

  • columnMappings:

ApplySourceTableNumber

 

method ApplySourceTableNumber(number: Int32): WhereExpression

 

WhereExpression ApplySourceTableNumber(Int32 number)

 

Function ApplySourceTableNumber(number As Int32) As WhereExpression

Parameters:

  • number:

ApplyTableMapping

 

method ApplyTableMapping(schemaTable: String; databaseTable: String)

 

void ApplyTableMapping(String schemaTable, String databaseTable)

 

Sub ApplyTableMapping(schemaTable As String, databaseTable As String)

Parameters:

  • schemaTable:
  • databaseTable:

ApplyTableNameOrAlias

 

method ApplyTableNameOrAlias(name: String)

 

void ApplyTableNameOrAlias(String name)

 

Sub ApplyTableNameOrAlias(name As String)

Parameters:

  • name:

Creates new BinaryExpression from given aLeft and aRight operands, using operator And.

 

class method Combine(left: WhereExpression; right: WhereExpression): WhereExpression

 

static WhereExpression Combine(WhereExpression left, WhereExpression right)

 

Shared Function Combine(left As WhereExpression, right As WhereExpression) As WhereExpression

Parameters:

  • left:
  • right:

 

class method Combine(left: WhereExpression; right: WhereExpression; operator: BinaryOperator): WhereExpression

 

static WhereExpression Combine(WhereExpression left, WhereExpression right, BinaryOperator operator)

 

Shared Function Combine(left As WhereExpression, right As WhereExpression, operator As BinaryOperator) As WhereExpression

Parameters:

  • left:
  • right:
  • operator:

DYN_WHERE_BETWEEN  protected

 

const DYN_WHERE_BETWEEN: String = "between";

 

const String DYN_WHERE_BETWEEN = "between"

 

Dim DYN_WHERE_BETWEEN As String = "between"

DYN_WHERE_BINARYOPERATION  protected

 

const DYN_WHERE_BINARYOPERATION: String = "binaryoperation";

 

const String DYN_WHERE_BINARYOPERATION = "binaryoperation"

 

Dim DYN_WHERE_BINARYOPERATION As String = "binaryoperation"

DYN_WHERE_CONSTANT  protected

 

const DYN_WHERE_CONSTANT: String = "constant";

 

const String DYN_WHERE_CONSTANT = "constant"

 

Dim DYN_WHERE_CONSTANT As String = "constant"

DYN_WHERE_DATATYPE  protected

 

const DYN_WHERE_DATATYPE: String = "datatype";

 

const String DYN_WHERE_DATATYPE = "datatype"

 

Dim DYN_WHERE_DATATYPE As String = "datatype"

DYN_WHERE_DATETIMENOW  protected

 

const DYN_WHERE_DATETIMENOW: String = "datetimenow";

 

const String DYN_WHERE_DATETIMENOW = "datetimenow"

 

Dim DYN_WHERE_DATETIMENOW As String = "datetimenow"

DYN_WHERE_DATETIMEPART  protected

 

const DYN_WHERE_DATETIMEPART: String = "datetimepart";

 

const String DYN_WHERE_DATETIMEPART = "datetimepart"

 

Dim DYN_WHERE_DATETIMEPART As String = "datetimepart"

DYN_WHERE_DATETIMETODAY  protected

 

const DYN_WHERE_DATETIMETODAY: String = "datetimetoday";

 

const String DYN_WHERE_DATETIMETODAY = "datetimetoday"

 

Dim DYN_WHERE_DATETIMETODAY As String = "datetimetoday"

DYN_WHERE_EXPRESSION  protected

 

const DYN_WHERE_EXPRESSION: String = "expression";

 

const String DYN_WHERE_EXPRESSION = "expression"

 

Dim DYN_WHERE_EXPRESSION As String = "expression"

DYN_WHERE_FIELD  protected

 

const DYN_WHERE_FIELD: String = "field";

 

const String DYN_WHERE_FIELD = "field"

 

Dim DYN_WHERE_FIELD As String = "field"

DYN_WHERE_FUNCTION  protected

 

const DYN_WHERE_FUNCTION: String = "function";

 

const String DYN_WHERE_FUNCTION = "function"

 

Dim DYN_WHERE_FUNCTION As String = "function"

DYN_WHERE_ITEMS  protected

 

const DYN_WHERE_ITEMS: String = "items";

 

const String DYN_WHERE_ITEMS = "items"

 

Dim DYN_WHERE_ITEMS As String = "items"

DYN_WHERE_KIND  protected

 

const DYN_WHERE_KIND: String = "kind";

 

const String DYN_WHERE_KIND = "kind"

 

Dim DYN_WHERE_KIND As String = "kind"

DYN_WHERE_LEFT  protected

 

const DYN_WHERE_LEFT: String = "left";

 

const String DYN_WHERE_LEFT = "left"

 

Dim DYN_WHERE_LEFT As String = "left"

DYN_WHERE_LIST  protected

 

const DYN_WHERE_LIST: String = "list";

 

const String DYN_WHERE_LIST = "list"

 

Dim DYN_WHERE_LIST As String = "list"

DYN_WHERE_LOWER  protected

 

const DYN_WHERE_LOWER: String = "lower";

 

const String DYN_WHERE_LOWER = "lower"

 

Dim DYN_WHERE_LOWER As String = "lower"

DYN_WHERE_MACRO  protected

 

const DYN_WHERE_MACRO: String = "macro";

 

const String DYN_WHERE_MACRO = "macro"

 

Dim DYN_WHERE_MACRO As String = "macro"

DYN_WHERE_NAME  protected

 

const DYN_WHERE_NAME: String = "name";

 

const String DYN_WHERE_NAME = "name"

 

Dim DYN_WHERE_NAME As String = "name"

DYN_WHERE_NULL  protected

 

const DYN_WHERE_NULL: String = "null";

 

const String DYN_WHERE_NULL = "null"

 

Dim DYN_WHERE_NULL As String = "null"

DYN_WHERE_OPERATOR  protected

 

const DYN_WHERE_OPERATOR: String = "operator";

 

const String DYN_WHERE_OPERATOR = "operator"

 

Dim DYN_WHERE_OPERATOR As String = "operator"

DYN_WHERE_PARAMETER  protected

 

const DYN_WHERE_PARAMETER: String = "parameter";

 

const String DYN_WHERE_PARAMETER = "parameter"

 

Dim DYN_WHERE_PARAMETER As String = "parameter"

DYN_WHERE_PART  protected

 

const DYN_WHERE_PART: String = "part";

 

const String DYN_WHERE_PART = "part"

 

Dim DYN_WHERE_PART As String = "part"

DYN_WHERE_RIGHT  protected

 

const DYN_WHERE_RIGHT: String = "right";

 

const String DYN_WHERE_RIGHT = "right"

 

Dim DYN_WHERE_RIGHT As String = "right"

DYN_WHERE_SIZE  protected

 

const DYN_WHERE_SIZE: String = "size";

 

const String DYN_WHERE_SIZE = "size"

 

Dim DYN_WHERE_SIZE As String = "size"

DYN_WHERE_TABLE  protected

 

const DYN_WHERE_TABLE: String = "table";

 

const String DYN_WHERE_TABLE = "table"

 

Dim DYN_WHERE_TABLE As String = "table"

DYN_WHERE_TYPE  protected

 

const DYN_WHERE_TYPE: String = "type";

 

const String DYN_WHERE_TYPE = "type"

 

Dim DYN_WHERE_TYPE As String = "type"

DYN_WHERE_TYPE_VALUE  protected

 

const DYN_WHERE_TYPE_VALUE: String = "query.where";

 

const String DYN_WHERE_TYPE_VALUE = "query.where"

 

Dim DYN_WHERE_TYPE_VALUE As String = "query.where"

DYN_WHERE_UNARYOPERATION  protected

 

const DYN_WHERE_UNARYOPERATION: String = "unaryoperation";

 

const String DYN_WHERE_UNARYOPERATION = "unaryoperation"

 

Dim DYN_WHERE_UNARYOPERATION As String = "unaryoperation"

DYN_WHERE_UPPER  protected

 

const DYN_WHERE_UPPER: String = "upper";

 

const String DYN_WHERE_UPPER = "upper"

 

Dim DYN_WHERE_UPPER As String = "upper"

DYN_WHERE_VALUE  protected

 

const DYN_WHERE_VALUE: String = "value";

 

const String DYN_WHERE_VALUE = "value"

 

Dim DYN_WHERE_VALUE As String = "value"

ExtractAllConstantExpression

Establishes a list of all ConstantExpression contained in the WhereExpression.

 

method ExtractAllConstantExpression(expressions: List<ConstantExpression>)

 

void ExtractAllConstantExpression(List<ConstantExpression> expressions)

 

Sub ExtractAllConstantExpression(expressions As List<ConstantExpression>)

Parameters:

  • expressions:

ExtractAllFieldNames

Establishes a list of field names used in the WhereExpression.

 

method ExtractAllFieldNames(fieldNames: List<String>)

 

void ExtractAllFieldNames(List<String> fieldNames)

 

Sub ExtractAllFieldNames(fieldNames As List<String>)

Parameters:

  • fieldNames:

ExtractAllParams

Fills SchemaParameterCollection with ParameterExpressions and ConstantExpressions (as ParameterExpressions) contained in the WhereExpression.

 

method ExtractAllParams(parameters: SchemaParameterCollection)

 

void ExtractAllParams(SchemaParameterCollection parameters)

 

Sub ExtractAllParams(parameters As SchemaParameterCollection)

Parameters:

  • parameters:

FromJsonObject

 

class method FromJsonObject(node: JsonObject): WhereExpression

 

static WhereExpression FromJsonObject(JsonObject node)

 

Shared Function FromJsonObject(node As JsonObject) As WhereExpression

Parameters:

  • node:

FromJsonString

 

class method FromJsonString(json: String): WhereExpression

 

static WhereExpression FromJsonString(String json)

 

Shared Function FromJsonString(json As String) As WhereExpression

Parameters:

  • json:

FromString

Creates new WhereExpression from string, which should contain where node in the correct Dynamic Where XML Format.

 

class method FromString(value: String): WhereExpression

 

static WhereExpression FromString(String value)

 

Shared Function FromString(value As String) As WhereExpression

Parameters:

  • value:

FromStringToSql

 

class method FromStringToSql(xml: String): String

 

static String FromStringToSql(String xml)

 

Shared Function FromStringToSql(xml As String) As String

Parameters:

  • xml:

FromXmlNode

Creates new WhereExpression from xml node, which should be in the correct Dynamic Where XML Format.

 

class method FromXmlNode(node: XmlNode): WhereExpression

 

static WhereExpression FromXmlNode(XmlNode node)

 

Shared Function FromXmlNode(node As XmlNode) As WhereExpression

Parameters:

  • node:

FromXmlString

 

class method FromXmlString(xml: String): WhereExpression

 

static WhereExpression FromXmlString(String xml)

 

Shared Function FromXmlString(xml As String) As WhereExpression

Parameters:

  • xml:

Kind

Abstract readonly property, which represents the type of WHERE expression in the descendant class.

 

property Kind: WhereKind read;

 

WhereKind Kind { get; }

 

ReadOnly Property Kind() As WhereKind

ParseExpression (JsonBaseObject): WhereExpression

 

class method ParseExpression(node: JsonBaseObject): WhereExpression

 

static WhereExpression ParseExpression(JsonBaseObject node)

 

Shared Function ParseExpression(node As JsonBaseObject) As WhereExpression

Parameters:

  • node:

ParseExpression (XmlNode): WhereExpression

 

class method ParseExpression(node: XmlNode): WhereExpression

 

static WhereExpression ParseExpression(XmlNode node)

 

Shared Function ParseExpression(node As XmlNode) As WhereExpression

Parameters:

  • node:

ReadFromJson

 

method ReadFromJson(node: JsonObject)

 

void ReadFromJson(JsonObject node)

 

Sub ReadFromJson(node As JsonObject)

Parameters:

  • node:

ReadFromXml

Abstract method. In descendants creates WhereExpression from the given xml node, that should be in the correct Dynamic Where XML Format.

 

method ReadFromXml(node: XmlNode)

 

void ReadFromXml(XmlNode node)

 

Sub ReadFromXml(node As XmlNode)

Parameters:

  • node:

ToJsonString

 

method ToJsonString: String

 

String ToJsonString()

 

Function ToJsonString() As String

ToSQLString

A helper method that wraps the similar one with the string builder and returns a SQL string.

 

method ToSQLString: String

 

String ToSQLString()

 

Function ToSQLString() As String

ToSQLString (StringBuilder)

Creates an SQL representation of thу current where expression instance and appends it to the provided StringBuilder.

 

method ToSQLString(destination: StringBuilder)

 

void ToSQLString(StringBuilder destination)

 

Sub ToSQLString(destination As StringBuilder)

Parameters:

  • destination: The destination string builder to be appended.

ToString

Returns a SQL string representation of the current expression.

 

method ToString: String

 

String ToString()

 

Function ToString() As String

ToXmlNode

Creates query node (in the Dynamic Where XML Format) from WhereExpression.

 

method ToXmlNode: XmlNode

 

XmlNode ToXmlNode()

 

Function ToXmlNode() As XmlNode

ToXmlString

Creates query node (in the Dynamic Where XML Format) from WhereExpression and returns it in the string format.

 

method ToXmlString: String

 

String ToXmlString()

 

Function ToXmlString() As String

Validate

 

method Validate: Boolean

 

Boolean Validate()

 

Function Validate() As Boolean

Validate (WhereExpression): Boolean

Validates that WhereExpression doesn't contain any errors, using WhereValidator. The main purpose of this validation - to scan all objects of WhereExpession tree and make sure that it contains correct field names.

 

class method Validate(expression: WhereExpression): Boolean

 

static Boolean Validate(WhereExpression expression)

 

Shared Function Validate(expression As WhereExpression) As Boolean

Parameters:

  • expression:

WriteExpression

 

class method WriteExpression(node: JsonBaseObject; tag: String; value: WhereExpression)

 

static void WriteExpression(JsonBaseObject node, String tag, WhereExpression value)

 

Shared Sub WriteExpression(node As JsonBaseObject, tag As String, value As WhereExpression)

Parameters:

  • node:
  • tag:
  • value:

WriteToJson

 

method WriteToJson(node: JsonObject)

 

void WriteToJson(JsonObject node)

 

Sub WriteToJson(node As JsonObject)

Parameters:

  • node:

WriteToXml

Abstract method. In descendants creates where node (in the Dynamic Where XML Format) from WhereExpression.

 

method WriteToXml(node: XmlNode)

 

void WriteToXml(XmlNode node)

 

Sub WriteToXml(node As XmlNode)

Parameters:

  • node:

 

DYN_WHERE_BETWEEN  protected

 

const DYN_WHERE_BETWEEN: String = "between";

 

const String DYN_WHERE_BETWEEN = "between"

 

Dim DYN_WHERE_BETWEEN As String = "between"

DYN_WHERE_BINARYOPERATION  protected

 

const DYN_WHERE_BINARYOPERATION: String = "binaryoperation";

 

const String DYN_WHERE_BINARYOPERATION = "binaryoperation"

 

Dim DYN_WHERE_BINARYOPERATION As String = "binaryoperation"

DYN_WHERE_CONSTANT  protected

 

const DYN_WHERE_CONSTANT: String = "constant";

 

const String DYN_WHERE_CONSTANT = "constant"

 

Dim DYN_WHERE_CONSTANT As String = "constant"

DYN_WHERE_DATATYPE  protected

 

const DYN_WHERE_DATATYPE: String = "datatype";

 

const String DYN_WHERE_DATATYPE = "datatype"

 

Dim DYN_WHERE_DATATYPE As String = "datatype"

DYN_WHERE_DATETIMENOW  protected

 

const DYN_WHERE_DATETIMENOW: String = "datetimenow";

 

const String DYN_WHERE_DATETIMENOW = "datetimenow"

 

Dim DYN_WHERE_DATETIMENOW As String = "datetimenow"

DYN_WHERE_DATETIMEPART  protected

 

const DYN_WHERE_DATETIMEPART: String = "datetimepart";

 

const String DYN_WHERE_DATETIMEPART = "datetimepart"

 

Dim DYN_WHERE_DATETIMEPART As String = "datetimepart"

DYN_WHERE_DATETIMETODAY  protected

 

const DYN_WHERE_DATETIMETODAY: String = "datetimetoday";

 

const String DYN_WHERE_DATETIMETODAY = "datetimetoday"

 

Dim DYN_WHERE_DATETIMETODAY As String = "datetimetoday"

DYN_WHERE_EXPRESSION  protected

 

const DYN_WHERE_EXPRESSION: String = "expression";

 

const String DYN_WHERE_EXPRESSION = "expression"

 

Dim DYN_WHERE_EXPRESSION As String = "expression"

DYN_WHERE_FIELD  protected

 

const DYN_WHERE_FIELD: String = "field";

 

const String DYN_WHERE_FIELD = "field"

 

Dim DYN_WHERE_FIELD As String = "field"

DYN_WHERE_FUNCTION  protected

 

const DYN_WHERE_FUNCTION: String = "function";

 

const String DYN_WHERE_FUNCTION = "function"

 

Dim DYN_WHERE_FUNCTION As String = "function"

DYN_WHERE_ITEMS  protected

 

const DYN_WHERE_ITEMS: String = "items";

 

const String DYN_WHERE_ITEMS = "items"

 

Dim DYN_WHERE_ITEMS As String = "items"

DYN_WHERE_KIND  protected

 

const DYN_WHERE_KIND: String = "kind";

 

const String DYN_WHERE_KIND = "kind"

 

Dim DYN_WHERE_KIND As String = "kind"

DYN_WHERE_LEFT  protected

 

const DYN_WHERE_LEFT: String = "left";

 

const String DYN_WHERE_LEFT = "left"

 

Dim DYN_WHERE_LEFT As String = "left"

DYN_WHERE_LIST  protected

 

const DYN_WHERE_LIST: String = "list";

 

const String DYN_WHERE_LIST = "list"

 

Dim DYN_WHERE_LIST As String = "list"

DYN_WHERE_LOWER  protected

 

const DYN_WHERE_LOWER: String = "lower";

 

const String DYN_WHERE_LOWER = "lower"

 

Dim DYN_WHERE_LOWER As String = "lower"

DYN_WHERE_MACRO  protected

 

const DYN_WHERE_MACRO: String = "macro";

 

const String DYN_WHERE_MACRO = "macro"

 

Dim DYN_WHERE_MACRO As String = "macro"

DYN_WHERE_NAME  protected

 

const DYN_WHERE_NAME: String = "name";

 

const String DYN_WHERE_NAME = "name"

 

Dim DYN_WHERE_NAME As String = "name"

DYN_WHERE_NULL  protected

 

const DYN_WHERE_NULL: String = "null";

 

const String DYN_WHERE_NULL = "null"

 

Dim DYN_WHERE_NULL As String = "null"

DYN_WHERE_OPERATOR  protected

 

const DYN_WHERE_OPERATOR: String = "operator";

 

const String DYN_WHERE_OPERATOR = "operator"

 

Dim DYN_WHERE_OPERATOR As String = "operator"

DYN_WHERE_PARAMETER  protected

 

const DYN_WHERE_PARAMETER: String = "parameter";

 

const String DYN_WHERE_PARAMETER = "parameter"

 

Dim DYN_WHERE_PARAMETER As String = "parameter"

DYN_WHERE_PART  protected

 

const DYN_WHERE_PART: String = "part";

 

const String DYN_WHERE_PART = "part"

 

Dim DYN_WHERE_PART As String = "part"

DYN_WHERE_RIGHT  protected

 

const DYN_WHERE_RIGHT: String = "right";

 

const String DYN_WHERE_RIGHT = "right"

 

Dim DYN_WHERE_RIGHT As String = "right"

DYN_WHERE_SIZE  protected

 

const DYN_WHERE_SIZE: String = "size";

 

const String DYN_WHERE_SIZE = "size"

 

Dim DYN_WHERE_SIZE As String = "size"

DYN_WHERE_TABLE  protected

 

const DYN_WHERE_TABLE: String = "table";

 

const String DYN_WHERE_TABLE = "table"

 

Dim DYN_WHERE_TABLE As String = "table"

DYN_WHERE_TYPE  protected

 

const DYN_WHERE_TYPE: String = "type";

 

const String DYN_WHERE_TYPE = "type"

 

Dim DYN_WHERE_TYPE As String = "type"

DYN_WHERE_TYPE_VALUE  protected

 

const DYN_WHERE_TYPE_VALUE: String = "query.where";

 

const String DYN_WHERE_TYPE_VALUE = "query.where"

 

Dim DYN_WHERE_TYPE_VALUE As String = "query.where"

DYN_WHERE_UNARYOPERATION  protected

 

const DYN_WHERE_UNARYOPERATION: String = "unaryoperation";

 

const String DYN_WHERE_UNARYOPERATION = "unaryoperation"

 

Dim DYN_WHERE_UNARYOPERATION As String = "unaryoperation"

DYN_WHERE_UPPER  protected

 

const DYN_WHERE_UPPER: String = "upper";

 

const String DYN_WHERE_UPPER = "upper"

 

Dim DYN_WHERE_UPPER As String = "upper"

DYN_WHERE_VALUE  protected

 

const DYN_WHERE_VALUE: String = "value";

 

const String DYN_WHERE_VALUE = "value"

 

Dim DYN_WHERE_VALUE As String = "value"

 

Kind

Abstract readonly property, which represents the type of WHERE expression in the descendant class.

 

property Kind: WhereKind read;

 

WhereKind Kind { get; }

 

ReadOnly Property Kind() As WhereKind

 

Creates new BinaryExpression from given aLeft and aRight operands, using operator And.

 

class method Combine(left: WhereExpression; right: WhereExpression): WhereExpression

 

static WhereExpression Combine(WhereExpression left, WhereExpression right)

 

Shared Function Combine(left As WhereExpression, right As WhereExpression) As WhereExpression

Parameters:

  • left:
  • right:

 

class method Combine(left: WhereExpression; right: WhereExpression; operator: BinaryOperator): WhereExpression

 

static WhereExpression Combine(WhereExpression left, WhereExpression right, BinaryOperator operator)

 

Shared Function Combine(left As WhereExpression, right As WhereExpression, operator As BinaryOperator) As WhereExpression

Parameters:

  • left:
  • right:
  • operator:

FromJsonObject

 

class method FromJsonObject(node: JsonObject): WhereExpression

 

static WhereExpression FromJsonObject(JsonObject node)

 

Shared Function FromJsonObject(node As JsonObject) As WhereExpression

Parameters:

  • node:

FromJsonString

 

class method FromJsonString(json: String): WhereExpression

 

static WhereExpression FromJsonString(String json)

 

Shared Function FromJsonString(json As String) As WhereExpression

Parameters:

  • json:

FromString

Creates new WhereExpression from string, which should contain where node in the correct Dynamic Where XML Format.

 

class method FromString(value: String): WhereExpression

 

static WhereExpression FromString(String value)

 

Shared Function FromString(value As String) As WhereExpression

Parameters:

  • value:

FromStringToSql

 

class method FromStringToSql(xml: String): String

 

static String FromStringToSql(String xml)

 

Shared Function FromStringToSql(xml As String) As String

Parameters:

  • xml:

FromXmlNode

Creates new WhereExpression from xml node, which should be in the correct Dynamic Where XML Format.

 

class method FromXmlNode(node: XmlNode): WhereExpression

 

static WhereExpression FromXmlNode(XmlNode node)

 

Shared Function FromXmlNode(node As XmlNode) As WhereExpression

Parameters:

  • node:

FromXmlString

 

class method FromXmlString(xml: String): WhereExpression

 

static WhereExpression FromXmlString(String xml)

 

Shared Function FromXmlString(xml As String) As WhereExpression

Parameters:

  • xml:

ParseExpression (JsonBaseObject): WhereExpression

 

class method ParseExpression(node: JsonBaseObject): WhereExpression

 

static WhereExpression ParseExpression(JsonBaseObject node)

 

Shared Function ParseExpression(node As JsonBaseObject) As WhereExpression

Parameters:

  • node:

ParseExpression (XmlNode): WhereExpression

 

class method ParseExpression(node: XmlNode): WhereExpression

 

static WhereExpression ParseExpression(XmlNode node)

 

Shared Function ParseExpression(node As XmlNode) As WhereExpression

Parameters:

  • node:

Validate (WhereExpression): Boolean

Validates that WhereExpression doesn't contain any errors, using WhereValidator. The main purpose of this validation - to scan all objects of WhereExpession tree and make sure that it contains correct field names.

 

class method Validate(expression: WhereExpression): Boolean

 

static Boolean Validate(WhereExpression expression)

 

Shared Function Validate(expression As WhereExpression) As Boolean

Parameters:

  • expression:

WriteExpression

 

class method WriteExpression(node: JsonBaseObject; tag: String; value: WhereExpression)

 

static void WriteExpression(JsonBaseObject node, String tag, WhereExpression value)

 

Shared Sub WriteExpression(node As JsonBaseObject, tag As String, value As WhereExpression)

Parameters:

  • node:
  • tag:
  • value:

 

constructor  protected

 

constructor

 

WhereExpression()

 

Sub New()

ApplyFieldMapping

Adjusts the field names in the WhereExpression in accordance with table names of fields in the given schema column mapping.

 

method ApplyFieldMapping(columnMappings: SchemaColumnMappingCollection)

 

void ApplyFieldMapping(SchemaColumnMappingCollection columnMappings)

 

Sub ApplyFieldMapping(columnMappings As SchemaColumnMappingCollection)

Parameters:

  • columnMappings:

ApplySourceTableNumber

 

method ApplySourceTableNumber(number: Int32): WhereExpression

 

WhereExpression ApplySourceTableNumber(Int32 number)

 

Function ApplySourceTableNumber(number As Int32) As WhereExpression

Parameters:

  • number:

ApplyTableMapping

 

method ApplyTableMapping(schemaTable: String; databaseTable: String)

 

void ApplyTableMapping(String schemaTable, String databaseTable)

 

Sub ApplyTableMapping(schemaTable As String, databaseTable As String)

Parameters:

  • schemaTable:
  • databaseTable:

ApplyTableNameOrAlias

 

method ApplyTableNameOrAlias(name: String)

 

void ApplyTableNameOrAlias(String name)

 

Sub ApplyTableNameOrAlias(name As String)

Parameters:

  • name:

ExtractAllConstantExpression

Establishes a list of all ConstantExpression contained in the WhereExpression.

 

method ExtractAllConstantExpression(expressions: List<ConstantExpression>)

 

void ExtractAllConstantExpression(List<ConstantExpression> expressions)

 

Sub ExtractAllConstantExpression(expressions As List<ConstantExpression>)

Parameters:

  • expressions:

ExtractAllFieldNames

Establishes a list of field names used in the WhereExpression.

 

method ExtractAllFieldNames(fieldNames: List<String>)

 

void ExtractAllFieldNames(List<String> fieldNames)

 

Sub ExtractAllFieldNames(fieldNames As List<String>)

Parameters:

  • fieldNames:

ExtractAllParams

Fills SchemaParameterCollection with ParameterExpressions and ConstantExpressions (as ParameterExpressions) contained in the WhereExpression.

 

method ExtractAllParams(parameters: SchemaParameterCollection)

 

void ExtractAllParams(SchemaParameterCollection parameters)

 

Sub ExtractAllParams(parameters As SchemaParameterCollection)

Parameters:

  • parameters:

ReadFromJson

 

method ReadFromJson(node: JsonObject)

 

void ReadFromJson(JsonObject node)

 

Sub ReadFromJson(node As JsonObject)

Parameters:

  • node:

ReadFromXml

Abstract method. In descendants creates WhereExpression from the given xml node, that should be in the correct Dynamic Where XML Format.

 

method ReadFromXml(node: XmlNode)

 

void ReadFromXml(XmlNode node)

 

Sub ReadFromXml(node As XmlNode)

Parameters:

  • node:

ToJsonString

 

method ToJsonString: String

 

String ToJsonString()

 

Function ToJsonString() As String

ToSQLString

A helper method that wraps the similar one with the string builder and returns a SQL string.

 

method ToSQLString: String

 

String ToSQLString()

 

Function ToSQLString() As String

ToSQLString (StringBuilder)

Creates an SQL representation of thу current where expression instance and appends it to the provided StringBuilder.

 

method ToSQLString(destination: StringBuilder)

 

void ToSQLString(StringBuilder destination)

 

Sub ToSQLString(destination As StringBuilder)

Parameters:

  • destination: The destination string builder to be appended.

ToString

Returns a SQL string representation of the current expression.

 

method ToString: String

 

String ToString()

 

Function ToString() As String

ToXmlNode

Creates query node (in the Dynamic Where XML Format) from WhereExpression.

 

method ToXmlNode: XmlNode

 

XmlNode ToXmlNode()

 

Function ToXmlNode() As XmlNode

ToXmlString

Creates query node (in the Dynamic Where XML Format) from WhereExpression and returns it in the string format.

 

method ToXmlString: String

 

String ToXmlString()

 

Function ToXmlString() As String

Validate

 

method Validate: Boolean

 

Boolean Validate()

 

Function Validate() As Boolean

WriteToJson

 

method WriteToJson(node: JsonObject)

 

void WriteToJson(JsonObject node)

 

Sub WriteToJson(node As JsonObject)

Parameters:

  • node:

WriteToXml

Abstract method. In descendants creates where node (in the Dynamic Where XML Format) from WhereExpression.

 

method WriteToXml(node: XmlNode)

 

void WriteToXml(XmlNode node)

 

Sub WriteToXml(node As XmlNode)

Parameters:

  • node: