﻿B4J=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=9.8
@EndOfDesignText@
Sub Class_Globals
	Private fx As JFX
	Private engineManager As JavaObject
	Private vtlEngine As JavaObject
	Private vtlTmp As JavaObject
End Sub

'Initializes the object. You can add parameters to this method if needed.
Public Sub Initialize
	engineManager.InitializeNewInstance("javax.script.ScriptEngineManager",Null)
	vtlEngine = engineManager.RunMethod("getEngineByName",Array("velocity"))
	
	If Not(vtlEngine.IsInitialized) Then
		Log("created scriptengine")
		vtlTmp.InitializeNewInstance("org.apache.velocity.script.VelocityScriptEngineFactory",Null)
		engineManager.RunMethod("registerEngineName",Array("velocity",vtlTmp))
		vtlEngine = engineManager.RunMethod("getEngineByName",Array("velocity"))
	End If
End Sub

public Sub put(key As String,value As Object)
	vtlEngine.RunMethod("put",Array(key,value))
End Sub

public Sub putMap(m As Map)
	For a = 0 To m.Size -1
		vtlEngine.RunMethod("put",Array(m.GetKeyAt(a),m.GetValueAt(a)))
	Next
End Sub

public Sub get(key As String) As Object
	Return vtlEngine.RunMethod("get",Array(key))
End Sub

public Sub eval(script As String)
	vtlEngine.RunMethod("eval",Array(script))
End Sub