EcmaScriptProvider
Overview
The EcmaScriptProvider class provides implementation of the Scripting engine used by the RemObjects DataAbstract Business Rules Scripting.
Usually there is no need to call any of the methods of this class directly.
Location
- Reference: RemObjects.DataAbstract.Scripting.dll
- Namespace: RemObjects.DataAbstract.Scripting
- Platforms: .NET Core, .NET Framework
- Ancestry: Component | EcmaScriptProvider
constructor
Creates a new instance of the EcmaScriptProvider class and initializes global script context.
constructor
EcmaScriptProvider()
init()
Sub New()
constructor (String)
Creates a new instance of the EcmaScriptProvider class and initializes global script context.
constructor(scriptName: String)
EcmaScriptProvider(String scriptName)
init(_ scriptName: String)
Sub New(scriptName As String)
Parameters:
- scriptName: Script name. Used for debug purposes
AfterCommit
This method is called after a transaction (set of insert/update/delete operations) has been committed.
method AfterCommit
void AfterCommit()
func AfterCommit()
Sub AfterCommit()
AfterExecuteCommand
This method is called after an sql command is executed.
method AfterExecuteCommand(sql: String; commandName: String; parameters: array of DataParameter; rowsAffected: Int32)
void AfterExecuteCommand(String sql, String commandName, DataParameter[] parameters, Int32 rowsAffected)
func AfterExecuteCommand(_ sql: String, _ commandName: String, _ parameters: DataParameter..., _ rowsAffected: Int32)
Sub AfterExecuteCommand(sql As String, commandName As String, parameters As DataParameter(), rowsAffected As Int32)
Parameters:
- sql: Executed command SQL statement
- commandName: Executed command name
- parameters: Set of command parameters
- rowsAffected: Number of rows affected by the command execution
AfterGetData
This method is called after data is retireved from database.
method AfterGetData(tables: array of String; requestInfo: array of TableRequestInfo)
void AfterGetData(String[] tables, TableRequestInfo[] requestInfo)
func AfterGetData(_ tables: String..., _ requestInfo: TableRequestInfo...)
Sub AfterGetData(tables As String(), requestInfo As TableRequestInfo())
Parameters:
- tables: Table names
- requestInfo: Corresponding TableRequestInfo instances. These instances contain additional request parameters
AfterLogin
This method is called after the user has logged in.
Relativity Server only.
method AfterLogin
void AfterLogin()
func AfterLogin()
Sub AfterLogin()
AfterProcessDelta
This method is called on database updates, after processing of each Delta instance
method AfterProcessDelta(delta: Delta)
void AfterProcessDelta(Delta delta)
func AfterProcessDelta(_ delta: Delta)
Sub AfterProcessDelta(delta As Delta)
Parameters:
- delta: Processed Delta instance
AfterProcessDeltaChange
This method is called on database updates, after processing of each DeltaChange instance.
method AfterProcessDeltaChange(delta: Delta; change: DeltaChange; refreshed: Boolean)
void AfterProcessDeltaChange(Delta delta, DeltaChange change, Boolean refreshed)
func AfterProcessDeltaChange(_ delta: Delta, _ change: DeltaChange, _ refreshed: Boolean)
Sub AfterProcessDeltaChange(delta As Delta, change As DeltaChange, refreshed As Boolean)
Parameters:
- delta: Processed Delta instance
- change: Processed DeltaChange instance
- refreshed: A flag indicating wheter the data was re-read from the database server after update. This operation is required to obtain values of server-calculated fields
AfterRollback
This method if called after a transactions is rolled back (canceled).
method AfterRollback
void AfterRollback()
func AfterRollback()
Sub AfterRollback()
BeforeCommit
This method is called before a transaction is committed.
method BeforeCommit
void BeforeCommit()
func BeforeCommit()
Sub BeforeCommit()
BeforeDelete
This method is called when a data row is going to be deleted.
method BeforeDelete(row: IRowHelper)
void BeforeDelete(IRowHelper row)
func BeforeDelete(_ row: IRowHelper)
Sub BeforeDelete(row As IRowHelper)
Parameters:
- row: Data row being deleted
BeforeExecuteCommand
This method is called before an sql command is executed.
method BeforeExecuteCommand(sql: String; commandName: String; parameters: array of DataParameter)
void BeforeExecuteCommand(String sql, String commandName, DataParameter[] parameters)
func BeforeExecuteCommand(_ sql: String, _ commandName: String, _ parameters: DataParameter...)
Sub BeforeExecuteCommand(sql As String, commandName As String, parameters As DataParameter())
Parameters:
- sql: Command SQL statement
- commandName: Command name
- parameters: Set of command parameters
BeforeGetData
This method is called before data is retireved from database.
method BeforeGetData(tables: array of String; requestInfo: array of TableRequestInfo)
void BeforeGetData(String[] tables, TableRequestInfo[] requestInfo)
func BeforeGetData(_ tables: String..., _ requestInfo: TableRequestInfo...)
Sub BeforeGetData(tables As String(), requestInfo As TableRequestInfo())
Parameters:
- tables: Table names
- requestInfo: Corresponding TableRequestInfo instances. These instances contain additional request parameters
BeforeLogout
This method is called before the user has logged out.
Relativity Server only.
method BeforeLogout
void BeforeLogout()
func BeforeLogout()
Sub BeforeLogout()
BeforePost
This method is called when a data row is going to be updated.
method BeforePost(row: IRowHelper)
void BeforePost(IRowHelper row)
func BeforePost(_ row: IRowHelper)
Sub BeforePost(row As IRowHelper)
Parameters:
- row: Data row being updated
BeforeProcessDelta
This method is called on database updates, before processing of each Delta instance.
method BeforeProcessDelta(delta: Delta)
void BeforeProcessDelta(Delta delta)
func BeforeProcessDelta(_ delta: Delta)
Sub BeforeProcessDelta(delta As Delta)
Parameters:
- delta: Delta instance to process
BeforeProcessDeltaChange
This method is called on database updates, before processing of each DeltaChange instance.
method BeforeProcessDeltaChange(delta: Delta; change: DeltaChange; refreshed: Boolean; var canRemove: Boolean)
void BeforeProcessDeltaChange(Delta delta, DeltaChange change, Boolean refreshed, ref Boolean canRemove)
func BeforeProcessDeltaChange(_ delta: Delta, _ change: DeltaChange, _ refreshed: Boolean, _ canRemove: inout Boolean)
Sub BeforeProcessDeltaChange(delta As Delta, change As DeltaChange, refreshed As Boolean, ByRef canRemove As Boolean)
Parameters:
- delta: Delta instance to process
- change: DeltaChange instance to process
- refreshed: Reserved
- canRemove: Flag indicating wheter the current deltachange can be removed from its parent Delta after is is successfully processed
BeforeRollback
This method is called before a transaction is rolled back (canceled).
method BeforeRollback
void BeforeRollback()
func BeforeRollback()
Sub BeforeRollback()
Clear
Clears all internal caches of the script provide and resets its state.
method Clear
void Clear()
func Clear()
Sub Clear()
ClearScriptCache
Clears the script cache.
For performance reasons Script Provider caches precompiled scripts for Schema entities. Is the server Schema is changed then this cache should be cleared to avoind possible inconsistencies.
method ClearScriptCache
void ClearScriptCache()
func ClearScriptCache()
Sub ClearScriptCache()
Context
Gets or sets the current script provider context.
property Context: IScriptContext read write;
IScriptContext Context { get; set; }
var Context: IScriptContext { get{} set{} }
Property Context() As IScriptContext
ContextChanged
Fires when Context property is changing.
event ContextChanged: EventHandler<EcmaScriptContextChangedArgs>
delegate EventHandler<EcmaScriptContextChangedArgs> ContextChanged()
__event EventHandler<EcmaScriptContextChangedArgs>: ContextChanged!
Event ContextChanged As EventHandler<EcmaScriptContextChangedArgs>
Continue
Continues script execution after it has been paused.
method Continue
void Continue()
func Continue()
Sub Continue()
CreateScriptException protected
Creates a new instance of the RemObjects.DataAbstract.Server.ScriptException exception and extracts all needed information form the original script exception and from the current script context, f.e. current line/row, event that the failed script belongs to etc.
method CreateScriptException(eventName: String; originalException: Exception): ScriptException
ScriptException CreateScriptException(String eventName, Exception originalException)
func CreateScriptException(_ eventName: String, _ originalException: Exception) -> ScriptException
Function CreateScriptException(eventName As String, originalException As Exception) As ScriptException
Parameters:
- eventName: Event that has been handled by the failed script
- originalException: Original script exception
CreateTransaction
This method is called when a new transaction is created to fetch or update records.
method CreateTransaction
void CreateTransaction()
func CreateTransaction()
Sub CreateTransaction()
Debug
Gets or seta a flag indicating whether script is executed in Debug mode.
The default value is true
[DefaultValue(true)]
property Debug: Boolean read write;
[DefaultValue(true)]
Boolean Debug { get; set; }
@DefaultValue(true)
var Debug: Boolean { get{} set{} }
<DefaultValue(true)>
Property Debug() As Boolean
DebugFrameEnter
This event is raised when new script scope (for example script method) is entered.
event DebugFrameEnter: EventHandler<ScriptFrameEnterEventArgs>
delegate EventHandler<ScriptFrameEnterEventArgs> DebugFrameEnter()
__event EventHandler<ScriptFrameEnterEventArgs>: DebugFrameEnter!
Event DebugFrameEnter As EventHandler<ScriptFrameEnterEventArgs>
DebugFrameExit
This event is raised when current script scope (for example script method) is exited.
event DebugFrameExit: EventHandler<ScriptFrameExitEventArgs>
delegate EventHandler<ScriptFrameExitEventArgs> DebugFrameExit()
__event EventHandler<ScriptFrameExitEventArgs>: DebugFrameExit!
Event DebugFrameExit As EventHandler<ScriptFrameExitEventArgs>
DebugLog
This event is raised when the script method log is executed.
event DebugLog: EventHandler<ScriptLogEventArgs>
delegate EventHandler<ScriptLogEventArgs> DebugLog()
__event EventHandler<ScriptLogEventArgs>: DebugLog!
Event DebugLog As EventHandler<ScriptLogEventArgs>
DebugMode
Gets or sets the current debugger mode. Available debug modes are
{| class="dashed-table" style="width: 100%" ! style="width: 30% " |
property DebugMode: ScriptDebugMode read write;
ScriptDebugMode DebugMode { get; set; }
var DebugMode: ScriptDebugMode { get{} set{} }
Property DebugMode() As ScriptDebugMode
DebugTracePoint
This event is raised on every script line execution.
event DebugTracePoint: EventHandler<ScriptTracePointEventArgs>
delegate EventHandler<ScriptTracePointEventArgs> DebugTracePoint()
__event EventHandler<ScriptTracePointEventArgs>: DebugTracePoint!
Event DebugTracePoint As EventHandler<ScriptTracePointEventArgs>
DebugUnhandledException
This event is raised when an unhandled exception occurs during the script execution.
event DebugUnhandledException: EventHandler<ScriptUnhandledExceptionEventArgs>
delegate EventHandler<ScriptUnhandledExceptionEventArgs> DebugUnhandledException()
__event EventHandler<ScriptUnhandledExceptionEventArgs>: DebugUnhandledException!
Event DebugUnhandledException As EventHandler<ScriptUnhandledExceptionEventArgs>
DoLogin
Reserved.
method DoLogin(parameters: IDictionary): Boolean
Boolean DoLogin(IDictionary parameters)
func DoLogin(_ parameters: IDictionary) -> Boolean
Function DoLogin(parameters As IDictionary) As Boolean
Parameters:
- parameters: Reserved
DoLogout
Reserved.
method DoLogout
void DoLogout()
func DoLogout()
Sub DoLogout()
Fail protected
Raises the ScriptFailException exception with message constructed using provided exception parameters.
method Fail(params args: array of Object): Object
Object Fail(params Object[] args)
func Fail(_ args: Object...) -> Object
Function Fail(ParamArray args As Object()) As Object
Parameters:
- args: Exception information
GetCommandScript protected
Initialized the script events handler for the Schema command commandName and precompiles the Schema scripts.
Method result is internally cached.
method GetCommandScript(commandName: String): EcmaScriptComponent
EcmaScriptComponent GetCommandScript(String commandName)
func GetCommandScript(_ commandName: String) -> EcmaScriptComponent
Function GetCommandScript(commandName As String) As EcmaScriptComponent
Parameters:
- commandName: Schema command name
GetCurrentDebuggerState protected
Returns the current debugger state information, including current line/row, script engine state etc.
method GetCurrentDebuggerState: IScriptDebuggerState
IScriptDebuggerState GetCurrentDebuggerState()
func GetCurrentDebuggerState() -> IScriptDebuggerState
Function GetCurrentDebuggerState() As IScriptDebuggerState
GetTableClientScript protected
Initialized the client-side script events handler for the Schema table tableName and precompiles the Schema scripts.
Method result is internally cached.
method GetTableClientScript(tableName: String): EcmaScriptComponent
EcmaScriptComponent GetTableClientScript(String tableName)
func GetTableClientScript(_ tableName: String) -> EcmaScriptComponent
Function GetTableClientScript(tableName As String) As EcmaScriptComponent
Parameters:
- tableName: Schema table name
GetTableServerScript protected
Initialized the server-side script events handler for the Schema table tableName and precompiles the Schema scripts.
Method result is internally cached.
method GetTableServerScript(tableName: String): EcmaScriptComponent
EcmaScriptComponent GetTableServerScript(String tableName)
func GetTableServerScript(_ tableName: String) -> EcmaScriptComponent
Function GetTableServerScript(tableName As String) As EcmaScriptComponent
Parameters:
- tableName: Schema table name
HasAfterCommit
Returns true if the AfterCommit script function is defined.
property HasAfterCommit: Boolean read;
Boolean HasAfterCommit { get; }
var HasAfterCommit: Boolean { get{} }
ReadOnly Property HasAfterCommit() As Boolean
HasAfterExecuteCommand
Returns true if the AfterExecuteCommand script function is defined.
property HasAfterExecuteCommand: Boolean read;
Boolean HasAfterExecuteCommand { get; }
var HasAfterExecuteCommand: Boolean { get{} }
ReadOnly Property HasAfterExecuteCommand() As Boolean
HasAfterGetData
Returns true if the AfterGetData script function is defined.
property HasAfterGetData: Boolean read;
Boolean HasAfterGetData { get; }
var HasAfterGetData: Boolean { get{} }
ReadOnly Property HasAfterGetData() As Boolean
HasAfterLogin
Returns true if the AfterLogin script function is defined.
property HasAfterLogin: Boolean read;
Boolean HasAfterLogin { get; }
var HasAfterLogin: Boolean { get{} }
ReadOnly Property HasAfterLogin() As Boolean
HasAfterProcessDelta
Returns true if the AfterProcessDelta script function is defined.
property HasAfterProcessDelta: Boolean read;
Boolean HasAfterProcessDelta { get; }
var HasAfterProcessDelta: Boolean { get{} }
ReadOnly Property HasAfterProcessDelta() As Boolean
HasAfterProcessDeltaChange
Returns true if the AfterProcessDeltaChange script function is defined.
property HasAfterProcessDeltaChange: Boolean read;
Boolean HasAfterProcessDeltaChange { get; }
var HasAfterProcessDeltaChange: Boolean { get{} }
ReadOnly Property HasAfterProcessDeltaChange() As Boolean
HasAfterRollback
Returns true if the AfterRollback script function is defined.
property HasAfterRollback: Boolean read;
Boolean HasAfterRollback { get; }
var HasAfterRollback: Boolean { get{} }
ReadOnly Property HasAfterRollback() As Boolean
HasBeforeCommit
Returns true if the BeforeCommit script function is defined.
property HasBeforeCommit: Boolean read;
Boolean HasBeforeCommit { get; }
var HasBeforeCommit: Boolean { get{} }
ReadOnly Property HasBeforeCommit() As Boolean
HasBeforeDelete
Returns true if the BeforeDelete script function is defined for the Schema table tableName.
property HasBeforeDelete[table: String]: Boolean read;
Boolean HasBeforeDelete[String table] { get; }
subscript HasBeforeDelete(_ table: String) -> Boolean { get{} }
ReadOnly Property HasBeforeDelete(table As String) As Boolean
HasBeforeExecuteCommand
Returns true if the BeforeExecuteCommand script function is defined.
property HasBeforeExecuteCommand: Boolean read;
Boolean HasBeforeExecuteCommand { get; }
var HasBeforeExecuteCommand: Boolean { get{} }
ReadOnly Property HasBeforeExecuteCommand() As Boolean
HasBeforeGetData
Returns true if the BeforeGetData script function is defined.
property HasBeforeGetData: Boolean read;
Boolean HasBeforeGetData { get; }
var HasBeforeGetData: Boolean { get{} }
ReadOnly Property HasBeforeGetData() As Boolean
HasBeforeLogout
Returns true if the BeforeLogout script function is defined.
property HasBeforeLogout: Boolean read;
Boolean HasBeforeLogout { get; }
var HasBeforeLogout: Boolean { get{} }
ReadOnly Property HasBeforeLogout() As Boolean
HasBeforePost
Returns true if the BeforePost script function is defined for the Schema table tableName.
property HasBeforePost[table: String]: Boolean read;
Boolean HasBeforePost[String table] { get; }
subscript HasBeforePost(_ table: String) -> Boolean { get{} }
ReadOnly Property HasBeforePost(table As String) As Boolean
HasBeforeProcessDelta
Returns true if the BeforeProcessDelta script function is defined.
property HasBeforeProcessDelta: Boolean read;
Boolean HasBeforeProcessDelta { get; }
var HasBeforeProcessDelta: Boolean { get{} }
ReadOnly Property HasBeforeProcessDelta() As Boolean
HasBeforeProcessDeltaChange
Returns true if the BeforeProcessDeltaChange script function is defined.
property HasBeforeProcessDeltaChange: Boolean read;
Boolean HasBeforeProcessDeltaChange { get; }
var HasBeforeProcessDeltaChange: Boolean { get{} }
ReadOnly Property HasBeforeProcessDeltaChange() As Boolean
HasBeforeRollback
Returns true if the BeforeRollback script function is defined.
property HasBeforeRollback: Boolean read;
Boolean HasBeforeRollback { get; }
var HasBeforeRollback: Boolean { get{} }
ReadOnly Property HasBeforeRollback() As Boolean
HasCreateTransaction
Returns true if the CreateTransaction script function is defined.
property HasCreateTransaction: Boolean read;
Boolean HasCreateTransaction { get; }
var HasCreateTransaction: Boolean { get{} }
ReadOnly Property HasCreateTransaction() As Boolean
HasDoLogin
Reserved
property HasDoLogin: Boolean read;
Boolean HasDoLogin { get; }
var HasDoLogin: Boolean { get{} }
ReadOnly Property HasDoLogin() As Boolean
HasDoLogout
Reserved
property HasDoLogout: Boolean read;
Boolean HasDoLogout { get; }
var HasDoLogout: Boolean { get{} }
ReadOnly Property HasDoLogout() As Boolean
HasOnNewRow
Returns true if the OnNewRow script function is defined for the Schema table tableName.
property HasOnNewRow[table: String]: Boolean read;
Boolean HasOnNewRow[String table] { get; }
subscript HasOnNewRow(_ table: String) -> Boolean { get{} }
ReadOnly Property HasOnNewRow(table As String) As Boolean
HasProcessError
Returns true if the ProcessError script function is defined.
property HasProcessError: Boolean read;
Boolean HasProcessError { get; }
var HasProcessError: Boolean { get{} }
ReadOnly Property HasProcessError() As Boolean
HasUnknownSqlMacroIdentifier
Returns true if the onUnknownSqlMacroIdentifier script function is defined.
property HasUnknownSqlMacroIdentifier: Boolean read;
Boolean HasUnknownSqlMacroIdentifier { get; }
var HasUnknownSqlMacroIdentifier: Boolean { get{} }
ReadOnly Property HasUnknownSqlMacroIdentifier() As Boolean
HasValidateCommandAccess
Returns true if the ValidateCommandAccess script function is defined.
property HasValidateCommandAccess: Boolean read;
Boolean HasValidateCommandAccess { get; }
var HasValidateCommandAccess: Boolean { get{} }
ReadOnly Property HasValidateCommandAccess() As Boolean
HasValidateDataTableAccess
Returns true.
property HasValidateDataTableAccess: Boolean read;
Boolean HasValidateDataTableAccess { get; }
var HasValidateDataTableAccess: Boolean { get{} }
ReadOnly Property HasValidateDataTableAccess() As Boolean
HasValidateDirectSQLAccess
Returns true.
property HasValidateDirectSQLAccess: Boolean read;
Boolean HasValidateDirectSQLAccess { get; }
var HasValidateDirectSQLAccess: Boolean { get{} }
ReadOnly Property HasValidateDirectSQLAccess() As Boolean
InvokeGlobalScriptFunction protected
Executes the requested script function. It is assumed that the requested script function doesn't require any arguments.
Script function is always executed in the root Schema context.
method InvokeGlobalScriptFunction(name: String)
void InvokeGlobalScriptFunction(String name)
func InvokeGlobalScriptFunction(_ name: String)
Sub InvokeGlobalScriptFunction(name As String)
Parameters:
- name: Script method name
InvokeScript protected
Executes the provided delegate. It is assumed that this delegate in turns executes a script method.
This method handles script exceptions and limits the script calls nesting.
method InvokeScript(implementation: ParamsDelegate; params arguments: array of Object): Object
Object InvokeScript(ParamsDelegate implementation, params Object[] arguments)
func InvokeScript(_ implementation: ParamsDelegate, _ arguments: Object...) -> Object
Function InvokeScript(implementation As ParamsDelegate, ParamArray arguments As Object()) As Object
Parameters:
- implementation: Delegate that should execute the script method
- arguments: Script method arguments
InvokeScriptFunction protected
Executes script function with provided parameters.
The purpose of this ,ethod is to properly set the Script Debugger context if needed.
method InvokeScriptFunction(engine: EcmaScriptComponent; name: String; params arguments: array of Object): Object
Object InvokeScriptFunction(EcmaScriptComponent engine, String name, params Object[] arguments)
func InvokeScriptFunction(_ engine: EcmaScriptComponent, _ name: String, _ arguments: Object...) -> Object
Function InvokeScriptFunction(engine As EcmaScriptComponent, name As String, ParamArray arguments As Object()) As Object
Parameters:
- engine: Script engine containing precompiled script
- name: Script function name
- arguments: Script function parameters
IsDebuggerAttached protected
Gets a flag indicating whether a debugger is attached to the current script engine instance.
property IsDebuggerAttached: Boolean read;
Boolean IsDebuggerAttached { get; }
var IsDebuggerAttached: Boolean { get{} }
ReadOnly Property IsDebuggerAttached() As Boolean
IsGlobalVariableDefined protected
Returnas true if the global script context contains the requested variable.
method IsGlobalVariableDefined(name: String): Boolean
Boolean IsGlobalVariableDefined(String name)
func IsGlobalVariableDefined(_ name: String) -> Boolean
Function IsGlobalVariableDefined(name As String) As Boolean
Parameters:
- name: Global variable name
IsNestedEvent protected
Gets true if the currently executing script has nesting level bigger than 1.
property IsNestedEvent: Boolean read;
Boolean IsNestedEvent { get; }
var IsNestedEvent: Boolean { get{} }
ReadOnly Property IsNestedEvent() As Boolean
IsTableFunctionDefined protected
Returns true if the Schema table script has definition for the requested script function.
method IsTableFunctionDefined(table: String; function: String): Boolean
Boolean IsTableFunctionDefined(String table, String function)
func IsTableFunctionDefined(_ table: String, _ function: String) -> Boolean
Function IsTableFunctionDefined(table As String, function As String) As Boolean
Parameters:
- table: Schema table name
- function: Script function name
LoadScript (EcmaScriptComponent, String) protected
Loads and precompiles provided script source.
method LoadScript(engine: EcmaScriptComponent; script: String)
void LoadScript(EcmaScriptComponent engine, String script)
func LoadScript(_ engine: EcmaScriptComponent, _ script: String)
Sub LoadScript(engine As EcmaScriptComponent, script As String)
Parameters:
- engine:
- script: Script source code
LoadScript (String)
method LoadScript(script: String)
void LoadScript(String script)
func LoadScript(_ script: String)
Sub LoadScript(script As String)
Parameters:
- script:
Log
Fires when script execute function LogMessage to log specified information.
event Log: EventHandler<EcmaScriptLogArgs>
delegate EventHandler<EcmaScriptLogArgs> Log()
__event EventHandler<EcmaScriptLogArgs>: Log!
Event Log As EventHandler<EcmaScriptLogArgs>
LogMessage protected
Logs specified information.
method LogMessage(params args: array of Object): Object
Object LogMessage(params Object[] args)
func LogMessage(_ args: Object...) -> Object
Function LogMessage(ParamArray args As Object()) As Object
Parameters:
- args: Specified collection with information need to log.
NewGuid protected
Creates and returns new Guid value.
method NewGuid(params args: array of Object): Object
Object NewGuid(params Object[] args)
func NewGuid(_ args: Object...) -> Object
Function NewGuid(ParamArray args As Object()) As Object
Parameters:
- args: are not used.
NewGuidString protected
Creates and returns new Guid value as string.
method NewGuidString(params args: array of Object): Object
Object NewGuidString(params Object[] args)
func NewGuidString(_ args: Object...) -> Object
Function NewGuidString(ParamArray args As Object()) As Object
Parameters:
- args: are not used.
OnContextChanged protected
Raises the ContextChanged event.
method OnContextChanged(e: EcmaScriptContextChangedArgs)
void OnContextChanged(EcmaScriptContextChangedArgs e)
func OnContextChanged(_ e: EcmaScriptContextChangedArgs)
Sub OnContextChanged(e As EcmaScriptContextChangedArgs)
Parameters:
- e: Event arguments
OnDebugDebugger protected
Internal method used to initialize the sub-script execution in the step-by-step mode.
method OnDebugDebugger
void OnDebugDebugger()
func OnDebugDebugger()
Sub OnDebugDebugger()
OnDebugFrameEnter protected
Raises the DebugFrameEnter event.
method OnDebugFrameEnter(e: ScriptFrameEnterEventArgs)
void OnDebugFrameEnter(ScriptFrameEnterEventArgs e)
func OnDebugFrameEnter(_ e: ScriptFrameEnterEventArgs)
Sub OnDebugFrameEnter(e As ScriptFrameEnterEventArgs)
Parameters:
- e: Event arguments
OnDebugFrameExit protected
Raises the DebugFrameExit event.
method OnDebugFrameExit(e: ScriptFrameExitEventArgs)
void OnDebugFrameExit(ScriptFrameExitEventArgs e)
func OnDebugFrameExit(_ e: ScriptFrameExitEventArgs)
Sub OnDebugFrameExit(e As ScriptFrameExitEventArgs)
Parameters:
- e: Event arguments
OnDebugLog protected
Raises the DebugLog event.
method OnDebugLog(e: ScriptLogEventArgs)
void OnDebugLog(ScriptLogEventArgs e)
func OnDebugLog(_ e: ScriptLogEventArgs)
Sub OnDebugLog(e As ScriptLogEventArgs)
Parameters:
- e: Event arguments
OnDebugTracePoint protected
Raises the DebugTracePoint event.
method OnDebugTracePoint(e: ScriptTracePointEventArgs)
void OnDebugTracePoint(ScriptTracePointEventArgs e)
func OnDebugTracePoint(_ e: ScriptTracePointEventArgs)
Sub OnDebugTracePoint(e As ScriptTracePointEventArgs)
Parameters:
- e: Event arguments
OnDebugUnhandledException protected
Raises the DebugUnhandledException event.
method OnDebugUnhandledException(e: ScriptUnhandledExceptionEventArgs)
void OnDebugUnhandledException(ScriptUnhandledExceptionEventArgs e)
func OnDebugUnhandledException(_ e: ScriptUnhandledExceptionEventArgs)
Sub OnDebugUnhandledException(e As ScriptUnhandledExceptionEventArgs)
Parameters:
- e: Event arguments
OnLog protected
Raises the Log event.
method OnLog(e: EcmaScriptLogArgs)
void OnLog(EcmaScriptLogArgs e)
func OnLog(_ e: EcmaScriptLogArgs)
Sub OnLog(e As EcmaScriptLogArgs)
Parameters:
- e: Event arguments
OnNewRow
Called when creating new rows. Can be used to pre-initialize new records data.
method OnNewRow(row: IRowHelper)
void OnNewRow(IRowHelper row)
func OnNewRow(_ row: IRowHelper)
Sub OnNewRow(row As IRowHelper)
Parameters:
- row: New data row
OnScriptError protected
Raises the ScriptError event.
method OnScriptError(e: ScriptErrorEventArgs)
void OnScriptError(ScriptErrorEventArgs e)
func OnScriptError(_ e: ScriptErrorEventArgs)
Sub OnScriptError(e As ScriptErrorEventArgs)
Parameters:
- e: Event arguments
ProcessError
This method is called when an error occurs during applying data changes to the database.
This method should return either the current value of the canContinue argument or false to break the Delta processing and roll back the transaction.
method ProcessError(delta: Delta; change: DeltaChange; var canContinue: Boolean; var error: Exception)
void ProcessError(Delta delta, DeltaChange change, ref Boolean canContinue, ref Exception error)
func ProcessError(_ delta: Delta, _ change: DeltaChange, _ canContinue: inout Boolean, _ error: inout Exception)
Sub ProcessError(delta As Delta, change As DeltaChange, ByRef canContinue As Boolean, ByRef error As Exception)
Parameters:
- delta: Delta instance containing failed data change
- change: DeltaChange instance that cannot be applied to the database
- canContinue: Flag indicating wthether Data Abstract should process other DeltaChange instances instead of rolling back the transaction immediately
- error: Exception raised by the data change attempt
RemoveGlobalVariable protected
Removes variable from the global script context.
method RemoveGlobalVariable(name: String)
void RemoveGlobalVariable(String name)
func RemoveGlobalVariable(_ name: String)
Sub RemoveGlobalVariable(name As String)
Parameters:
- name: Global variable name
ScriptError
The ScriptError event is raised when a script execution is broken dur e to an unhandler error.
event ScriptError: EventHandler<ScriptErrorEventArgs>
delegate EventHandler<ScriptErrorEventArgs> ScriptError()
__event EventHandler<ScriptErrorEventArgs>: ScriptError!
Event ScriptError As EventHandler<ScriptErrorEventArgs>
ScriptName
Gets or sets current script name.
Script name is used by the Script Debugger to identify the script source.
[DefaultValue('Schema')]
property ScriptName: String read write;
[DefaultValue(\"Schema\")]
String ScriptName { get; set; }
@DefaultValue(\"Schema\")
var ScriptName: String { get{} set{} }
<DefaultValue(\"Schema\")>
Property ScriptName() As String
Shell protected
method Shell(params args: array of Object): Object
Object Shell(params Object[] args)
func Shell(_ args: Object...) -> Object
Function Shell(ParamArray args As Object()) As Object
Parameters:
- args:
StepInto
Steps into a method.
method StepInto
void StepInto()
func StepInto()
Sub StepInto()
StepOut
Steps out from the current script method. Script execution will be paused again after workflow exit from the current script.
method StepOut
void StepOut()
func StepOut()
Sub StepOut()
StepOver
Steps over the current script line.
method StepOver
void StepOver()
func StepOver()
Sub StepOver()
Stop
Breaks script execution.
method Stop
void Stop()
func Stop()
Sub Stop()
SupportsLanguage
Returns true if provided language is supported by the current Script Provider.
Returns true if languageName equals one of js
, javascript
, jscript
, ecmascript
, rsljavascript
.
method SupportsLanguage(languageName: String): Boolean
Boolean SupportsLanguage(String languageName)
func SupportsLanguage(_ languageName: String) -> Boolean
Function SupportsLanguage(languageName As String) As Boolean
Parameters:
- languageName: Script language name
UnknownSqlMacroIdentifier
This method is called when an unknown macro is found in the SQL statement processed by Data Abstract.
method UnknownSqlMacroIdentifier(identifier: String; var value: String)
void UnknownSqlMacroIdentifier(String identifier, ref String value)
func UnknownSqlMacroIdentifier(_ identifier: String, _ value: inout String)
Sub UnknownSqlMacroIdentifier(identifier As String, ByRef value As String)
Parameters:
- identifier: Macro identifier
- value: Macro value
ValidateCommandAccess
This method is called before a SQL command is executed.
Returns true if command execution is allowed.
method ValidateCommandAccess(commandName: String; parameterNames: array of String; parameterValues: array of Object; var isAllowed: Boolean)
void ValidateCommandAccess(String commandName, String[] parameterNames, Object[] parameterValues, ref Boolean isAllowed)
func ValidateCommandAccess(_ commandName: String, _ parameterNames: String..., _ parameterValues: Object..., _ isAllowed: inout Boolean)
Sub ValidateCommandAccess(commandName As String, parameterNames As String(), parameterValues As Object(), ByRef isAllowed As Boolean)
Parameters:
- commandName: Command name
- parameterNames: Command parameter names
- parameterValues: Command parameter values
- isAllowed: Flag indicating whether command execution is allowed
ValidateDataTableAccess
This method is called when data request is validated.
Returns true if access to the data table is allowed.
method ValidateDataTableAccess(tableName: String; parameterNames: array of String; parameterValues: array of Object; var isAllowed: Boolean)
void ValidateDataTableAccess(String tableName, String[] parameterNames, Object[] parameterValues, ref Boolean isAllowed)
func ValidateDataTableAccess(_ tableName: String, _ parameterNames: String..., _ parameterValues: Object..., _ isAllowed: inout Boolean)
Sub ValidateDataTableAccess(tableName As String, parameterNames As String(), parameterValues As Object(), ByRef isAllowed As Boolean)
Parameters:
- tableName: Table name
- parameterNames: Command parameter names
- parameterValues: Command parameter values
- isAllowed: Flag indicating whether data access is allowed
ValidateDirectSQLAccess
This method is called when a raw SQL statement sent by client application is executed.
method ValidateDirectSQLAccess(sql: String; parameterNames: array of String; parameterValues: array of Object; var isAllowed: Boolean)
void ValidateDirectSQLAccess(String sql, String[] parameterNames, Object[] parameterValues, ref Boolean isAllowed)
func ValidateDirectSQLAccess(_ sql: String, _ parameterNames: String..., _ parameterValues: Object..., _ isAllowed: inout Boolean)
Sub ValidateDirectSQLAccess(sql As String, parameterNames As String(), parameterValues As Object(), ByRef isAllowed As Boolean)
Parameters:
- sql: SQL statement
- parameterNames: Command parameter names
- parameterValues: Command parameter values
- isAllowed: Flag indicating whether SQL statement execution is allowed
Context
Gets or sets the current script provider context.
property Context: IScriptContext read write;
IScriptContext Context { get; set; }
var Context: IScriptContext { get{} set{} }
Property Context() As IScriptContext
Debug
Gets or seta a flag indicating whether script is executed in Debug mode.
The default value is true
[DefaultValue(true)]
property Debug: Boolean read write;
[DefaultValue(true)]
Boolean Debug { get; set; }
@DefaultValue(true)
var Debug: Boolean { get{} set{} }
<DefaultValue(true)>
Property Debug() As Boolean
DebugMode
Gets or sets the current debugger mode. Available debug modes are
{| class="dashed-table" style="width: 100%" ! style="width: 30% " |
property DebugMode: ScriptDebugMode read write;
ScriptDebugMode DebugMode { get; set; }
var DebugMode: ScriptDebugMode { get{} set{} }
Property DebugMode() As ScriptDebugMode
HasAfterCommit
Returns true if the AfterCommit script function is defined.
property HasAfterCommit: Boolean read;
Boolean HasAfterCommit { get; }
var HasAfterCommit: Boolean { get{} }
ReadOnly Property HasAfterCommit() As Boolean
HasAfterExecuteCommand
Returns true if the AfterExecuteCommand script function is defined.
property HasAfterExecuteCommand: Boolean read;
Boolean HasAfterExecuteCommand { get; }
var HasAfterExecuteCommand: Boolean { get{} }
ReadOnly Property HasAfterExecuteCommand() As Boolean
HasAfterGetData
Returns true if the AfterGetData script function is defined.
property HasAfterGetData: Boolean read;
Boolean HasAfterGetData { get; }
var HasAfterGetData: Boolean { get{} }
ReadOnly Property HasAfterGetData() As Boolean
HasAfterLogin
Returns true if the AfterLogin script function is defined.
property HasAfterLogin: Boolean read;
Boolean HasAfterLogin { get; }
var HasAfterLogin: Boolean { get{} }
ReadOnly Property HasAfterLogin() As Boolean
HasAfterProcessDelta
Returns true if the AfterProcessDelta script function is defined.
property HasAfterProcessDelta: Boolean read;
Boolean HasAfterProcessDelta { get; }
var HasAfterProcessDelta: Boolean { get{} }
ReadOnly Property HasAfterProcessDelta() As Boolean
HasAfterProcessDeltaChange
Returns true if the AfterProcessDeltaChange script function is defined.
property HasAfterProcessDeltaChange: Boolean read;
Boolean HasAfterProcessDeltaChange { get; }
var HasAfterProcessDeltaChange: Boolean { get{} }
ReadOnly Property HasAfterProcessDeltaChange() As Boolean
HasAfterRollback
Returns true if the AfterRollback script function is defined.
property HasAfterRollback: Boolean read;
Boolean HasAfterRollback { get; }
var HasAfterRollback: Boolean { get{} }
ReadOnly Property HasAfterRollback() As Boolean
HasBeforeCommit
Returns true if the BeforeCommit script function is defined.
property HasBeforeCommit: Boolean read;
Boolean HasBeforeCommit { get; }
var HasBeforeCommit: Boolean { get{} }
ReadOnly Property HasBeforeCommit() As Boolean
HasBeforeDelete
Returns true if the BeforeDelete script function is defined for the Schema table tableName.
property HasBeforeDelete[table: String]: Boolean read;
Boolean HasBeforeDelete[String table] { get; }
subscript HasBeforeDelete(_ table: String) -> Boolean { get{} }
ReadOnly Property HasBeforeDelete(table As String) As Boolean
HasBeforeExecuteCommand
Returns true if the BeforeExecuteCommand script function is defined.
property HasBeforeExecuteCommand: Boolean read;
Boolean HasBeforeExecuteCommand { get; }
var HasBeforeExecuteCommand: Boolean { get{} }
ReadOnly Property HasBeforeExecuteCommand() As Boolean
HasBeforeGetData
Returns true if the BeforeGetData script function is defined.
property HasBeforeGetData: Boolean read;
Boolean HasBeforeGetData { get; }
var HasBeforeGetData: Boolean { get{} }
ReadOnly Property HasBeforeGetData() As Boolean
HasBeforeLogout
Returns true if the BeforeLogout script function is defined.
property HasBeforeLogout: Boolean read;
Boolean HasBeforeLogout { get; }
var HasBeforeLogout: Boolean { get{} }
ReadOnly Property HasBeforeLogout() As Boolean
HasBeforePost
Returns true if the BeforePost script function is defined for the Schema table tableName.
property HasBeforePost[table: String]: Boolean read;
Boolean HasBeforePost[String table] { get; }
subscript HasBeforePost(_ table: String) -> Boolean { get{} }
ReadOnly Property HasBeforePost(table As String) As Boolean
HasBeforeProcessDelta
Returns true if the BeforeProcessDelta script function is defined.
property HasBeforeProcessDelta: Boolean read;
Boolean HasBeforeProcessDelta { get; }
var HasBeforeProcessDelta: Boolean { get{} }
ReadOnly Property HasBeforeProcessDelta() As Boolean
HasBeforeProcessDeltaChange
Returns true if the BeforeProcessDeltaChange script function is defined.
property HasBeforeProcessDeltaChange: Boolean read;
Boolean HasBeforeProcessDeltaChange { get; }
var HasBeforeProcessDeltaChange: Boolean { get{} }
ReadOnly Property HasBeforeProcessDeltaChange() As Boolean
HasBeforeRollback
Returns true if the BeforeRollback script function is defined.
property HasBeforeRollback: Boolean read;
Boolean HasBeforeRollback { get; }
var HasBeforeRollback: Boolean { get{} }
ReadOnly Property HasBeforeRollback() As Boolean
HasCreateTransaction
Returns true if the CreateTransaction script function is defined.
property HasCreateTransaction: Boolean read;
Boolean HasCreateTransaction { get; }
var HasCreateTransaction: Boolean { get{} }
ReadOnly Property HasCreateTransaction() As Boolean
HasDoLogin
Reserved
property HasDoLogin: Boolean read;
Boolean HasDoLogin { get; }
var HasDoLogin: Boolean { get{} }
ReadOnly Property HasDoLogin() As Boolean
HasDoLogout
Reserved
property HasDoLogout: Boolean read;
Boolean HasDoLogout { get; }
var HasDoLogout: Boolean { get{} }
ReadOnly Property HasDoLogout() As Boolean
HasOnNewRow
Returns true if the OnNewRow script function is defined for the Schema table tableName.
property HasOnNewRow[table: String]: Boolean read;
Boolean HasOnNewRow[String table] { get; }
subscript HasOnNewRow(_ table: String) -> Boolean { get{} }
ReadOnly Property HasOnNewRow(table As String) As Boolean
HasProcessError
Returns true if the ProcessError script function is defined.
property HasProcessError: Boolean read;
Boolean HasProcessError { get; }
var HasProcessError: Boolean { get{} }
ReadOnly Property HasProcessError() As Boolean
HasUnknownSqlMacroIdentifier
Returns true if the onUnknownSqlMacroIdentifier script function is defined.
property HasUnknownSqlMacroIdentifier: Boolean read;
Boolean HasUnknownSqlMacroIdentifier { get; }
var HasUnknownSqlMacroIdentifier: Boolean { get{} }
ReadOnly Property HasUnknownSqlMacroIdentifier() As Boolean
HasValidateCommandAccess
Returns true if the ValidateCommandAccess script function is defined.
property HasValidateCommandAccess: Boolean read;
Boolean HasValidateCommandAccess { get; }
var HasValidateCommandAccess: Boolean { get{} }
ReadOnly Property HasValidateCommandAccess() As Boolean
HasValidateDataTableAccess
Returns true.
property HasValidateDataTableAccess: Boolean read;
Boolean HasValidateDataTableAccess { get; }
var HasValidateDataTableAccess: Boolean { get{} }
ReadOnly Property HasValidateDataTableAccess() As Boolean
HasValidateDirectSQLAccess
Returns true.
property HasValidateDirectSQLAccess: Boolean read;
Boolean HasValidateDirectSQLAccess { get; }
var HasValidateDirectSQLAccess: Boolean { get{} }
ReadOnly Property HasValidateDirectSQLAccess() As Boolean
IsDebuggerAttached protected
Gets a flag indicating whether a debugger is attached to the current script engine instance.
property IsDebuggerAttached: Boolean read;
Boolean IsDebuggerAttached { get; }
var IsDebuggerAttached: Boolean { get{} }
ReadOnly Property IsDebuggerAttached() As Boolean
IsNestedEvent protected
Gets true if the currently executing script has nesting level bigger than 1.
property IsNestedEvent: Boolean read;
Boolean IsNestedEvent { get; }
var IsNestedEvent: Boolean { get{} }
ReadOnly Property IsNestedEvent() As Boolean
ScriptName
Gets or sets current script name.
Script name is used by the Script Debugger to identify the script source.
[DefaultValue('Schema')]
property ScriptName: String read write;
[DefaultValue(\"Schema\")]
String ScriptName { get; set; }
@DefaultValue(\"Schema\")
var ScriptName: String { get{} set{} }
<DefaultValue(\"Schema\")>
Property ScriptName() As String
constructor
Creates a new instance of the EcmaScriptProvider class and initializes global script context.
constructor
EcmaScriptProvider()
init()
Sub New()
constructor (String)
Creates a new instance of the EcmaScriptProvider class and initializes global script context.
constructor(scriptName: String)
EcmaScriptProvider(String scriptName)
init(_ scriptName: String)
Sub New(scriptName As String)
Parameters:
- scriptName: Script name. Used for debug purposes
AfterCommit
This method is called after a transaction (set of insert/update/delete operations) has been committed.
method AfterCommit
void AfterCommit()
func AfterCommit()
Sub AfterCommit()
AfterExecuteCommand
This method is called after an sql command is executed.
method AfterExecuteCommand(sql: String; commandName: String; parameters: array of DataParameter; rowsAffected: Int32)
void AfterExecuteCommand(String sql, String commandName, DataParameter[] parameters, Int32 rowsAffected)
func AfterExecuteCommand(_ sql: String, _ commandName: String, _ parameters: DataParameter..., _ rowsAffected: Int32)
Sub AfterExecuteCommand(sql As String, commandName As String, parameters As DataParameter(), rowsAffected As Int32)
Parameters:
- sql: Executed command SQL statement
- commandName: Executed command name
- parameters: Set of command parameters
- rowsAffected: Number of rows affected by the command execution
AfterGetData
This method is called after data is retireved from database.
method AfterGetData(tables: array of String; requestInfo: array of TableRequestInfo)
void AfterGetData(String[] tables, TableRequestInfo[] requestInfo)
func AfterGetData(_ tables: String..., _ requestInfo: TableRequestInfo...)
Sub AfterGetData(tables As String(), requestInfo As TableRequestInfo())
Parameters:
- tables: Table names
- requestInfo: Corresponding TableRequestInfo instances. These instances contain additional request parameters
AfterLogin
This method is called after the user has logged in.
Relativity Server only.
method AfterLogin
void AfterLogin()
func AfterLogin()
Sub AfterLogin()
AfterProcessDelta
This method is called on database updates, after processing of each Delta instance
method AfterProcessDelta(delta: Delta)
void AfterProcessDelta(Delta delta)
func AfterProcessDelta(_ delta: Delta)
Sub AfterProcessDelta(delta As Delta)
Parameters:
- delta: Processed Delta instance
AfterProcessDeltaChange
This method is called on database updates, after processing of each DeltaChange instance.
method AfterProcessDeltaChange(delta: Delta; change: DeltaChange; refreshed: Boolean)
void AfterProcessDeltaChange(Delta delta, DeltaChange change, Boolean refreshed)
func AfterProcessDeltaChange(_ delta: Delta, _ change: DeltaChange, _ refreshed: Boolean)
Sub AfterProcessDeltaChange(delta As Delta, change As DeltaChange, refreshed As Boolean)
Parameters:
- delta: Processed Delta instance
- change: Processed DeltaChange instance
- refreshed: A flag indicating wheter the data was re-read from the database server after update. This operation is required to obtain values of server-calculated fields
AfterRollback
This method if called after a transactions is rolled back (canceled).
method AfterRollback
void AfterRollback()
func AfterRollback()
Sub AfterRollback()
BeforeCommit
This method is called before a transaction is committed.
method BeforeCommit
void BeforeCommit()
func BeforeCommit()
Sub BeforeCommit()
BeforeDelete
This method is called when a data row is going to be deleted.
method BeforeDelete(row: IRowHelper)
void BeforeDelete(IRowHelper row)
func BeforeDelete(_ row: IRowHelper)
Sub BeforeDelete(row As IRowHelper)
Parameters:
- row: Data row being deleted
BeforeExecuteCommand
This method is called before an sql command is executed.
method BeforeExecuteCommand(sql: String; commandName: String; parameters: array of DataParameter)
void BeforeExecuteCommand(String sql, String commandName, DataParameter[] parameters)
func BeforeExecuteCommand(_ sql: String, _ commandName: String, _ parameters: DataParameter...)
Sub BeforeExecuteCommand(sql As String, commandName As String, parameters As DataParameter())
Parameters:
- sql: Command SQL statement
- commandName: Command name
- parameters: Set of command parameters
BeforeGetData
This method is called before data is retireved from database.
method BeforeGetData(tables: array of String; requestInfo: array of TableRequestInfo)
void BeforeGetData(String[] tables, TableRequestInfo[] requestInfo)
func BeforeGetData(_ tables: String..., _ requestInfo: TableRequestInfo...)
Sub BeforeGetData(tables As String(), requestInfo As TableRequestInfo())
Parameters:
- tables: Table names
- requestInfo: Corresponding TableRequestInfo instances. These instances contain additional request parameters
BeforeLogout
This method is called before the user has logged out.
Relativity Server only.
method BeforeLogout
void BeforeLogout()
func BeforeLogout()
Sub BeforeLogout()
BeforePost
This method is called when a data row is going to be updated.
method BeforePost(row: IRowHelper)
void BeforePost(IRowHelper row)
func BeforePost(_ row: IRowHelper)
Sub BeforePost(row As IRowHelper)
Parameters:
- row: Data row being updated
BeforeProcessDelta
This method is called on database updates, before processing of each Delta instance.
method BeforeProcessDelta(delta: Delta)
void BeforeProcessDelta(Delta delta)
func BeforeProcessDelta(_ delta: Delta)
Sub BeforeProcessDelta(delta As Delta)
Parameters:
- delta: Delta instance to process
BeforeProcessDeltaChange
This method is called on database updates, before processing of each DeltaChange instance.
method BeforeProcessDeltaChange(delta: Delta; change: DeltaChange; refreshed: Boolean; var canRemove: Boolean)
void BeforeProcessDeltaChange(Delta delta, DeltaChange change, Boolean refreshed, ref Boolean canRemove)
func BeforeProcessDeltaChange(_ delta: Delta, _ change: DeltaChange, _ refreshed: Boolean, _ canRemove: inout Boolean)
Sub BeforeProcessDeltaChange(delta As Delta, change As DeltaChange, refreshed As Boolean, ByRef canRemove As Boolean)
Parameters:
- delta: Delta instance to process
- change: DeltaChange instance to process
- refreshed: Reserved
- canRemove: Flag indicating wheter the current deltachange can be removed from its parent Delta after is is successfully processed
BeforeRollback
This method is called before a transaction is rolled back (canceled).
method BeforeRollback
void BeforeRollback()
func BeforeRollback()
Sub BeforeRollback()
Clear
Clears all internal caches of the script provide and resets its state.
method Clear
void Clear()
func Clear()
Sub Clear()
ClearScriptCache
Clears the script cache.
For performance reasons Script Provider caches precompiled scripts for Schema entities. Is the server Schema is changed then this cache should be cleared to avoind possible inconsistencies.
method ClearScriptCache
void ClearScriptCache()
func ClearScriptCache()
Sub ClearScriptCache()
Continue
Continues script execution after it has been paused.
method Continue
void Continue()
func Continue()
Sub Continue()
CreateScriptException protected
Creates a new instance of the RemObjects.DataAbstract.Server.ScriptException exception and extracts all needed information form the original script exception and from the current script context, f.e. current line/row, event that the failed script belongs to etc.
method CreateScriptException(eventName: String; originalException: Exception): ScriptException
ScriptException CreateScriptException(String eventName, Exception originalException)
func CreateScriptException(_ eventName: String, _ originalException: Exception) -> ScriptException
Function CreateScriptException(eventName As String, originalException As Exception) As ScriptException
Parameters:
- eventName: Event that has been handled by the failed script
- originalException: Original script exception
CreateTransaction
This method is called when a new transaction is created to fetch or update records.
method CreateTransaction
void CreateTransaction()
func CreateTransaction()
Sub CreateTransaction()
DoLogin
Reserved.
method DoLogin(parameters: IDictionary): Boolean
Boolean DoLogin(IDictionary parameters)
func DoLogin(_ parameters: IDictionary) -> Boolean
Function DoLogin(parameters As IDictionary) As Boolean
Parameters:
- parameters: Reserved
DoLogout
Reserved.
method DoLogout
void DoLogout()
func DoLogout()
Sub DoLogout()
Fail protected
Raises the ScriptFailException exception with message constructed using provided exception parameters.
method Fail(params args: array of Object): Object
Object Fail(params Object[] args)
func Fail(_ args: Object...) -> Object
Function Fail(ParamArray args As Object()) As Object
Parameters:
- args: Exception information
GetCommandScript protected
Initialized the script events handler for the Schema command commandName and precompiles the Schema scripts.
Method result is internally cached.
method GetCommandScript(commandName: String): EcmaScriptComponent
EcmaScriptComponent GetCommandScript(String commandName)
func GetCommandScript(_ commandName: String) -> EcmaScriptComponent
Function GetCommandScript(commandName As String) As EcmaScriptComponent
Parameters:
- commandName: Schema command name
GetCurrentDebuggerState protected
Returns the current debugger state information, including current line/row, script engine state etc.
method GetCurrentDebuggerState: IScriptDebuggerState
IScriptDebuggerState GetCurrentDebuggerState()
func GetCurrentDebuggerState() -> IScriptDebuggerState
Function GetCurrentDebuggerState() As IScriptDebuggerState
GetTableClientScript protected
Initialized the client-side script events handler for the Schema table tableName and precompiles the Schema scripts.
Method result is internally cached.
method GetTableClientScript(tableName: String): EcmaScriptComponent
EcmaScriptComponent GetTableClientScript(String tableName)
func GetTableClientScript(_ tableName: String) -> EcmaScriptComponent
Function GetTableClientScript(tableName As String) As EcmaScriptComponent
Parameters:
- tableName: Schema table name
GetTableServerScript protected
Initialized the server-side script events handler for the Schema table tableName and precompiles the Schema scripts.
Method result is internally cached.
method GetTableServerScript(tableName: String): EcmaScriptComponent
EcmaScriptComponent GetTableServerScript(String tableName)
func GetTableServerScript(_ tableName: String) -> EcmaScriptComponent
Function GetTableServerScript(tableName As String) As EcmaScriptComponent
Parameters:
- tableName: Schema table name
InvokeGlobalScriptFunction protected
Executes the requested script function. It is assumed that the requested script function doesn't require any arguments.
Script function is always executed in the root Schema context.
method InvokeGlobalScriptFunction(name: String)
void InvokeGlobalScriptFunction(String name)
func InvokeGlobalScriptFunction(_ name: String)
Sub InvokeGlobalScriptFunction(name As String)
Parameters:
- name: Script method name
InvokeScript protected
Executes the provided delegate. It is assumed that this delegate in turns executes a script method.
This method handles script exceptions and limits the script calls nesting.
method InvokeScript(implementation: ParamsDelegate; params arguments: array of Object): Object
Object InvokeScript(ParamsDelegate implementation, params Object[] arguments)
func InvokeScript(_ implementation: ParamsDelegate, _ arguments: Object...) -> Object
Function InvokeScript(implementation As ParamsDelegate, ParamArray arguments As Object()) As Object
Parameters:
- implementation: Delegate that should execute the script method
- arguments: Script method arguments
InvokeScriptFunction protected
Executes script function with provided parameters.
The purpose of this ,ethod is to properly set the Script Debugger context if needed.
method InvokeScriptFunction(engine: EcmaScriptComponent; name: String; params arguments: array of Object): Object
Object InvokeScriptFunction(EcmaScriptComponent engine, String name, params Object[] arguments)
func InvokeScriptFunction(_ engine: EcmaScriptComponent, _ name: String, _ arguments: Object...) -> Object
Function InvokeScriptFunction(engine As EcmaScriptComponent, name As String, ParamArray arguments As Object()) As Object
Parameters:
- engine: Script engine containing precompiled script
- name: Script function name
- arguments: Script function parameters
IsGlobalVariableDefined protected
Returnas true if the global script context contains the requested variable.
method IsGlobalVariableDefined(name: String): Boolean
Boolean IsGlobalVariableDefined(String name)
func IsGlobalVariableDefined(_ name: String) -> Boolean
Function IsGlobalVariableDefined(name As String) As Boolean
Parameters:
- name: Global variable name
IsTableFunctionDefined protected
Returns true if the Schema table script has definition for the requested script function.
method IsTableFunctionDefined(table: String; function: String): Boolean
Boolean IsTableFunctionDefined(String table, String function)
func IsTableFunctionDefined(_ table: String, _ function: String) -> Boolean
Function IsTableFunctionDefined(table As String, function As String) As Boolean
Parameters:
- table: Schema table name
- function: Script function name
LoadScript (EcmaScriptComponent, String) protected
Loads and precompiles provided script source.
method LoadScript(engine: EcmaScriptComponent; script: String)
void LoadScript(EcmaScriptComponent engine, String script)
func LoadScript(_ engine: EcmaScriptComponent, _ script: String)
Sub LoadScript(engine As EcmaScriptComponent, script As String)
Parameters:
- engine:
- script: Script source code
LoadScript (String)
method LoadScript(script: String)
void LoadScript(String script)
func LoadScript(_ script: String)
Sub LoadScript(script As String)
Parameters:
- script:
LogMessage protected
Logs specified information.
method LogMessage(params args: array of Object): Object
Object LogMessage(params Object[] args)
func LogMessage(_ args: Object...) -> Object
Function LogMessage(ParamArray args As Object()) As Object
Parameters:
- args: Specified collection with information need to log.
NewGuid protected
Creates and returns new Guid value.
method NewGuid(params args: array of Object): Object
Object NewGuid(params Object[] args)
func NewGuid(_ args: Object...) -> Object
Function NewGuid(ParamArray args As Object()) As Object
Parameters:
- args: are not used.
NewGuidString protected
Creates and returns new Guid value as string.
method NewGuidString(params args: array of Object): Object
Object NewGuidString(params Object[] args)
func NewGuidString(_ args: Object...) -> Object
Function NewGuidString(ParamArray args As Object()) As Object
Parameters:
- args: are not used.
OnContextChanged protected
Raises the ContextChanged event.
method OnContextChanged(e: EcmaScriptContextChangedArgs)
void OnContextChanged(EcmaScriptContextChangedArgs e)
func OnContextChanged(_ e: EcmaScriptContextChangedArgs)
Sub OnContextChanged(e As EcmaScriptContextChangedArgs)
Parameters:
- e: Event arguments
OnDebugDebugger protected
Internal method used to initialize the sub-script execution in the step-by-step mode.
method OnDebugDebugger
void OnDebugDebugger()
func OnDebugDebugger()
Sub OnDebugDebugger()
OnDebugFrameEnter protected
Raises the DebugFrameEnter event.
method OnDebugFrameEnter(e: ScriptFrameEnterEventArgs)
void OnDebugFrameEnter(ScriptFrameEnterEventArgs e)
func OnDebugFrameEnter(_ e: ScriptFrameEnterEventArgs)
Sub OnDebugFrameEnter(e As ScriptFrameEnterEventArgs)
Parameters:
- e: Event arguments
OnDebugFrameExit protected
Raises the DebugFrameExit event.
method OnDebugFrameExit(e: ScriptFrameExitEventArgs)
void OnDebugFrameExit(ScriptFrameExitEventArgs e)
func OnDebugFrameExit(_ e: ScriptFrameExitEventArgs)
Sub OnDebugFrameExit(e As ScriptFrameExitEventArgs)
Parameters:
- e: Event arguments
OnDebugLog protected
Raises the DebugLog event.
method OnDebugLog(e: ScriptLogEventArgs)
void OnDebugLog(ScriptLogEventArgs e)
func OnDebugLog(_ e: ScriptLogEventArgs)
Sub OnDebugLog(e As ScriptLogEventArgs)
Parameters:
- e: Event arguments
OnDebugTracePoint protected
Raises the DebugTracePoint event.
method OnDebugTracePoint(e: ScriptTracePointEventArgs)
void OnDebugTracePoint(ScriptTracePointEventArgs e)
func OnDebugTracePoint(_ e: ScriptTracePointEventArgs)
Sub OnDebugTracePoint(e As ScriptTracePointEventArgs)
Parameters:
- e: Event arguments
OnDebugUnhandledException protected
Raises the DebugUnhandledException event.
method OnDebugUnhandledException(e: ScriptUnhandledExceptionEventArgs)
void OnDebugUnhandledException(ScriptUnhandledExceptionEventArgs e)
func OnDebugUnhandledException(_ e: ScriptUnhandledExceptionEventArgs)
Sub OnDebugUnhandledException(e As ScriptUnhandledExceptionEventArgs)
Parameters:
- e: Event arguments
OnLog protected
Raises the Log event.
method OnLog(e: EcmaScriptLogArgs)
void OnLog(EcmaScriptLogArgs e)
func OnLog(_ e: EcmaScriptLogArgs)
Sub OnLog(e As EcmaScriptLogArgs)
Parameters:
- e: Event arguments
OnNewRow
Called when creating new rows. Can be used to pre-initialize new records data.
method OnNewRow(row: IRowHelper)
void OnNewRow(IRowHelper row)
func OnNewRow(_ row: IRowHelper)
Sub OnNewRow(row As IRowHelper)
Parameters:
- row: New data row
OnScriptError protected
Raises the ScriptError event.
method OnScriptError(e: ScriptErrorEventArgs)
void OnScriptError(ScriptErrorEventArgs e)
func OnScriptError(_ e: ScriptErrorEventArgs)
Sub OnScriptError(e As ScriptErrorEventArgs)
Parameters:
- e: Event arguments
ProcessError
This method is called when an error occurs during applying data changes to the database.
This method should return either the current value of the canContinue argument or false to break the Delta processing and roll back the transaction.
method ProcessError(delta: Delta; change: DeltaChange; var canContinue: Boolean; var error: Exception)
void ProcessError(Delta delta, DeltaChange change, ref Boolean canContinue, ref Exception error)
func ProcessError(_ delta: Delta, _ change: DeltaChange, _ canContinue: inout Boolean, _ error: inout Exception)
Sub ProcessError(delta As Delta, change As DeltaChange, ByRef canContinue As Boolean, ByRef error As Exception)
Parameters:
- delta: Delta instance containing failed data change
- change: DeltaChange instance that cannot be applied to the database
- canContinue: Flag indicating wthether Data Abstract should process other DeltaChange instances instead of rolling back the transaction immediately
- error: Exception raised by the data change attempt
RemoveGlobalVariable protected
Removes variable from the global script context.
method RemoveGlobalVariable(name: String)
void RemoveGlobalVariable(String name)
func RemoveGlobalVariable(_ name: String)
Sub RemoveGlobalVariable(name As String)
Parameters:
- name: Global variable name
Shell protected
method Shell(params args: array of Object): Object
Object Shell(params Object[] args)
func Shell(_ args: Object...) -> Object
Function Shell(ParamArray args As Object()) As Object
Parameters:
- args:
StepInto
Steps into a method.
method StepInto
void StepInto()
func StepInto()
Sub StepInto()
StepOut
Steps out from the current script method. Script execution will be paused again after workflow exit from the current script.
method StepOut
void StepOut()
func StepOut()
Sub StepOut()
StepOver
Steps over the current script line.
method StepOver
void StepOver()
func StepOver()
Sub StepOver()
Stop
Breaks script execution.
method Stop
void Stop()
func Stop()
Sub Stop()
SupportsLanguage
Returns true if provided language is supported by the current Script Provider.
Returns true if languageName equals one of js
, javascript
, jscript
, ecmascript
, rsljavascript
.
method SupportsLanguage(languageName: String): Boolean
Boolean SupportsLanguage(String languageName)
func SupportsLanguage(_ languageName: String) -> Boolean
Function SupportsLanguage(languageName As String) As Boolean
Parameters:
- languageName: Script language name
UnknownSqlMacroIdentifier
This method is called when an unknown macro is found in the SQL statement processed by Data Abstract.
method UnknownSqlMacroIdentifier(identifier: String; var value: String)
void UnknownSqlMacroIdentifier(String identifier, ref String value)
func UnknownSqlMacroIdentifier(_ identifier: String, _ value: inout String)
Sub UnknownSqlMacroIdentifier(identifier As String, ByRef value As String)
Parameters:
- identifier: Macro identifier
- value: Macro value
ValidateCommandAccess
This method is called before a SQL command is executed.
Returns true if command execution is allowed.
method ValidateCommandAccess(commandName: String; parameterNames: array of String; parameterValues: array of Object; var isAllowed: Boolean)
void ValidateCommandAccess(String commandName, String[] parameterNames, Object[] parameterValues, ref Boolean isAllowed)
func ValidateCommandAccess(_ commandName: String, _ parameterNames: String..., _ parameterValues: Object..., _ isAllowed: inout Boolean)
Sub ValidateCommandAccess(commandName As String, parameterNames As String(), parameterValues As Object(), ByRef isAllowed As Boolean)
Parameters:
- commandName: Command name
- parameterNames: Command parameter names
- parameterValues: Command parameter values
- isAllowed: Flag indicating whether command execution is allowed
ValidateDataTableAccess
This method is called when data request is validated.
Returns true if access to the data table is allowed.
method ValidateDataTableAccess(tableName: String; parameterNames: array of String; parameterValues: array of Object; var isAllowed: Boolean)
void ValidateDataTableAccess(String tableName, String[] parameterNames, Object[] parameterValues, ref Boolean isAllowed)
func ValidateDataTableAccess(_ tableName: String, _ parameterNames: String..., _ parameterValues: Object..., _ isAllowed: inout Boolean)
Sub ValidateDataTableAccess(tableName As String, parameterNames As String(), parameterValues As Object(), ByRef isAllowed As Boolean)
Parameters:
- tableName: Table name
- parameterNames: Command parameter names
- parameterValues: Command parameter values
- isAllowed: Flag indicating whether data access is allowed
ValidateDirectSQLAccess
This method is called when a raw SQL statement sent by client application is executed.
method ValidateDirectSQLAccess(sql: String; parameterNames: array of String; parameterValues: array of Object; var isAllowed: Boolean)
void ValidateDirectSQLAccess(String sql, String[] parameterNames, Object[] parameterValues, ref Boolean isAllowed)
func ValidateDirectSQLAccess(_ sql: String, _ parameterNames: String..., _ parameterValues: Object..., _ isAllowed: inout Boolean)
Sub ValidateDirectSQLAccess(sql As String, parameterNames As String(), parameterValues As Object(), ByRef isAllowed As Boolean)
Parameters:
- sql: SQL statement
- parameterNames: Command parameter names
- parameterValues: Command parameter values
- isAllowed: Flag indicating whether SQL statement execution is allowed
ContextChanged
Fires when Context property is changing.
event ContextChanged: EventHandler<EcmaScriptContextChangedArgs>
delegate EventHandler<EcmaScriptContextChangedArgs> ContextChanged()
__event EventHandler<EcmaScriptContextChangedArgs>: ContextChanged!
Event ContextChanged As EventHandler<EcmaScriptContextChangedArgs>
DebugFrameEnter
This event is raised when new script scope (for example script method) is entered.
event DebugFrameEnter: EventHandler<ScriptFrameEnterEventArgs>
delegate EventHandler<ScriptFrameEnterEventArgs> DebugFrameEnter()
__event EventHandler<ScriptFrameEnterEventArgs>: DebugFrameEnter!
Event DebugFrameEnter As EventHandler<ScriptFrameEnterEventArgs>
DebugFrameExit
This event is raised when current script scope (for example script method) is exited.
event DebugFrameExit: EventHandler<ScriptFrameExitEventArgs>
delegate EventHandler<ScriptFrameExitEventArgs> DebugFrameExit()
__event EventHandler<ScriptFrameExitEventArgs>: DebugFrameExit!
Event DebugFrameExit As EventHandler<ScriptFrameExitEventArgs>
DebugLog
This event is raised when the script method log is executed.
event DebugLog: EventHandler<ScriptLogEventArgs>
delegate EventHandler<ScriptLogEventArgs> DebugLog()
__event EventHandler<ScriptLogEventArgs>: DebugLog!
Event DebugLog As EventHandler<ScriptLogEventArgs>
DebugTracePoint
This event is raised on every script line execution.
event DebugTracePoint: EventHandler<ScriptTracePointEventArgs>
delegate EventHandler<ScriptTracePointEventArgs> DebugTracePoint()
__event EventHandler<ScriptTracePointEventArgs>: DebugTracePoint!
Event DebugTracePoint As EventHandler<ScriptTracePointEventArgs>
DebugUnhandledException
This event is raised when an unhandled exception occurs during the script execution.
event DebugUnhandledException: EventHandler<ScriptUnhandledExceptionEventArgs>
delegate EventHandler<ScriptUnhandledExceptionEventArgs> DebugUnhandledException()
__event EventHandler<ScriptUnhandledExceptionEventArgs>: DebugUnhandledException!
Event DebugUnhandledException As EventHandler<ScriptUnhandledExceptionEventArgs>
Log
Fires when script execute function LogMessage to log specified information.
event Log: EventHandler<EcmaScriptLogArgs>
delegate EventHandler<EcmaScriptLogArgs> Log()
__event EventHandler<EcmaScriptLogArgs>: Log!
Event Log As EventHandler<EcmaScriptLogArgs>
ScriptError
The ScriptError event is raised when a script execution is broken dur e to an unhandler error.
event ScriptError: EventHandler<ScriptErrorEventArgs>
delegate EventHandler<ScriptErrorEventArgs> ScriptError()
__event EventHandler<ScriptErrorEventArgs>: ScriptError!
Event ScriptError As EventHandler<ScriptErrorEventArgs>