Child pages
  • JSClient

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hiddendiv:style=display:none}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACTAUTO CHANGES FROMUPDATE THE PAGECONTENT ANDTHROUGH MERGETHE THEM BACK INTO SERVOY SOURCE{hiddenDOC GENERATOR{div}
{sub-sectiondiv:id=description|text=}{sub-sectiondiv}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Constants Summary{th}{tr}{tbody}{tr}{td}[String]{td}{td}[#CALLBACK_EVENT]
Constant that is returned as a JSEvent type when in the callback method when it executed normally.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#CALLBACK_EXCEPTION_EVENT]
Constant that is returned as a JSEvent type when in the callback method when an exception occurred.{td}{tr}{tbody}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[String]{td}{td}[#getClientID]\()
Gets the id of the client.{td}{tr}{tbody}{tbody}{tr}{td}[Object]{td}{td}[#getDataProviderValue]\(contextName, dataprovider)
Get a data\-provider value.{td}{tr}{tbody}{tbody}{tr}{td}[Object]{td}{td}[#getDataProviderValue]\(contextName, dataprovider, methodName)
Get a data\-provider value.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#isValid]\()
returns true if this client is still valid/usable.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#queueMethod]\(contextName, methodName, args, notifyCallBackMethod)
Queues a method call on the remote server.{td}{tr}{tbody}{tbody}{tr}{td}[Object]{td}{td}[#setDataProviderValue]\(contextName, dataprovider, value)
Set a data\-provider value.{td}{tr}{tbody}{tbody}{tr}{td}[Object]{td}{td}[#setDataProviderValue]\(contextName, dataprovider, value, methodName)
Set a data\-provider value.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#shutdown]\()
closes the client.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#shutdown]\(force)
closes the client.{td}{tr}{tbody}{table}\\ 

{table:id=constant|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Constants Details{th}{tr}{tbody:id=CALLBACK_EVENT|class=node}{tr:id=name}{td}h6.CALLBACK_EVENT{td}{tr}{builder-showtr:permission=edit}{tr:id=desid=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{sub-section:CALLBACK_EVENT_des|trigger=button|text=}{sub-section}{sub-section:CALLBACK_EVENT_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:CALLBACK_EVENT_snc|trigger=button|text=}{sub-section}{sub-section:CALLBACK_EVENT_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:CALLBACK_EVENT_prs|trigger=button|text=}{sub-section}{sub-section:CALLBACK_EVENT_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:CALLBACK_EVENT_ret|trigger=button|text=}{sub-section}{sub-section:CALLBACK_EVENT_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:CALLBACK_EVENT_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:CALLBACK_EVENT_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:CALLBACK_EVENT_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:CALLBACK_EVENT_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:CALLBACK_EVENT_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:CALLBACK_EVENT_sam|trigger=none}{div:class=sIndent}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	/*Queue a method where the callback can do something like this
	if (event.getType() == JSClient.CALLBACK_EVENT)
	{
		application.output("callback data, name: " + event.data);
	}
	else if (event.getType() == JSClient.CALLBACK_EXCEPTION_EVENT)
	{
		application.output("exception callback, name: " + event.data);
	}*/
	var x = new Object();
	x.name = 'remote1';
	x.number = 10;
	// this calls a 'remoteMethod' on the server as a global method, because the context (first argument is set to null), you can use a formname to call a form method
	jsclient.queueMethod(null, "remoteMethod", [x], callback);
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=CALLBACK_EXCEPTION_EVENT}{tr:id=name}{td}h6.CALLBACK_EXCEPTION_EVENT{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	/*Queue a method where the callback can do something like this
	if (event.getType() == JSClient.CALLBACK_EVENT)
	{
		application.output("callback data, name: " + event.data);
	}
	else if (event.getType() == JSClient.CALLBACK_EXCEPTION_EVENT)
	{
		application.output("exception callback, name: " + event.data);
	}*/
	var x = new Object();
	x.name = 'remote1';
	x.number = 10;
	// this calls a 'remoteMethod' on the server as a global method, because the context (first argument is set to null), you can use a formname to call a form method
	jsclient.queueMethod(null, "remoteMethod", [x], callback);
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}\\ 

{tbodytable:id=CALLBACK_EXCEPTION_EVENT|class=nodefunction|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:id=name}{td}h6.CALLBACK_EXCEPTION_EVENT{tdstyle=height: 30px;}{th:colspan=1}Method Details{th}{tr}{builder-showtbody:permissionid=editgetClientID}{tr:id=des}name}{td}h6.getClientID{td}{tr}{sub-section:CALLBACK_EXCEPTION_EVENT_des|trigger=button|text=}{sub-section}{sub-section:CALLBACK_EXCEPTION_EVENT_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edittr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}getClientID{span}{span}\(){span}{td}{tr}{tr:id=sncret}{td}*SinceReturns*\\{sub-section:CALLBACK_EXCEPTION_EVENT_snc|trigger=button|text=}{sub-section}{sub-section:CALLBACK_EXCEPTION_EVENT_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=editdiv:class=sIndent}[String]{div}{td}{tr}{tr:id=prssam}{td}*ParametersSample*\\{sub-section:CALLBACK_EXCEPTION_EVENT_prs|trigger=button|text=}{sub-section}{sub-section:CALLBACK_EXCEPTION_EVENT_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:CALLBACK_EXCEPTION_EVENT_ret|trigger=button|text=}{sub-section}{sub-section:CALLBACK_EXCEPTION_EVENT_ret|trigger=none|class=sIndent}[String]{sub-sectiondiv:class=sIndent}{code:language=javascript}
var headlessClient = plugins.headlessclient.createClient("someSolution", "user", "pass", null);
var clientID = headlessClient.getClientID()
....
headlessClient = plugins.headlessclient.getClient(clientID);
if (headlessClient != null && headlessClient.isValid()) {
	 headlessClient.queueMethod(null, "someRemoteMethod", null, callback);
}
{code}{div}{td}{tr}{builder-showtr:permissionclass=editlastDetailRow}{tr:id=seetd}{td}*Also see*\\{sub-section:CALLBACK_EXCEPTION_EVENT_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:CALLBACK_EXCEPTION_EVENT_see|trigger=none}{sub-section}{div}{tr}{tbody}{tbody:id=getDataProviderValue-String_String}{tr:id=name}{td}h6.getDataProviderValue{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linksig}{td}*External links*\\{sub-section:CALLBACK_EXCEPTION_EVENT_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:CALLBACK_EXCEPTION_EVENT_link|trigger=none}{sub-section}{div{span:style=margin-right: 5px;}[Object]{span}{span:style=font-weight: bold;}getDataProviderValue{span}{span}\(contextName, dataprovider){span}{td}{tr}{builder-show}{tr:id=samprs}{td}*SampleParameters*\\{sub-section:CALLBACK_EXCEPTION_EVENT_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:CALLBACK_EXCEPTION_EVENT_sam|trigger=none}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	/*Queue a method where the callback can do something like this
	if (event.getType() == JSClient.CALLBACK_EVENT)
	{
		application.output("callback data, name: " + event.data);
	}
	else if (event.getType() == JSClient.CALLBACK_EXCEPTION_EVENT)
	{
		application.output("exception callback, name: " + event.data);
	}*/
	var x = new Object();
	x.name = 'remote1';
	x.number = 10;
	// this calls a 'remoteMethod' on the server as a global method, because the context (first argument is set to null), you can use a formname to call a form method
	jsclient.queueMethod(null, "remoteMethod", [x], callback);
}
{code}{sub-section}div:class=sIndent}\{[String]} contextName -- The context of the given method, null if it is global method or a form name for a form method
\{[String]} dataprovider -- the data\-provider name as seen in Servoy
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Object] -- the value for the data-provider.{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	// only gets the globals.media when the 'remoteMethod' is currently executing for this client
	var value = jsclient.getDataProviderValue(null, "scopes.globals.number", 'remoteMethod');
	if (value != null)
	{
		application.output("value get from scopes.globals.number :: "+ value);
		scopes.globals.value = value+10;
		var returnValue = jsclient.setDataProviderValue(null, "scopes.globals.number", scopes.globals.value, 'remoteMethod');
		application.output("value set to scopes.globals.number previous value "+ returnValue);
	}
	else
	{
		application.output("value get from scopes.globals.number :: " + null);
	}
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=getClientID|class=node}{tr:id=name}{td}h6.getClientIDtbody:id=getDataProviderValue-String_String_String}{tr:id=name}{td}h6.getDataProviderValue{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Object]{span}{span:style=font-weight: bold;}getDataProviderValue{span}{span}\(contextName, dataprovider, methodName){span}{td}{tr}{tr:id=sigprs}{td}*Parameters*\\{spandiv:style=float: left; margin-right: 5px;}class=sIndent}\{[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getClientID{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit contextName -- The context of the given method; null if it is global method or a form name for a form method.
\{[String]} dataprovider -- the data\-provider name as seen in Servoy.
\{[String]} methodName -- if this is specified, the data\-provider's value will only be returned if the specified method is running in this headless client because the currently running client requested it to. Otherwise undefined is returned.
{div}{td}{tr}{tr:id=desret}{td}{sub-section:getClientID_des|trigger=button|text=}{sub-section}{sub-section:getClientID_des|trigger=none|*Returns*\\{div:class=sIndent}Replace with description{sub-section[Object] -- the value of the data-provider.{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:getClientID_snc|trigger=button|text=}{sub-section}{sub-section:getClientID_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getClientID_prs|trigger=button|text=}{sub-section}{sub-section:getClientID_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getClientID_ret|trigger=button|text=}{sub-section}{sub-section:getClientID_ret|trigger=none|class=sIndent}[String]{sub-sectiondiv:class=sIndent}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	// only gets the globals.media when the 'remoteMethod' is currently executing for this client
	var value = jsclient.getDataProviderValue(null, "scopes.globals.number", 'remoteMethod');
	if (value != null)
	{
		application.output("value get from scopes.globals.number :: "+ value);
		scopes.globals.value = value+10;
		var returnValue = jsclient.setDataProviderValue(null, "scopes.globals.number", scopes.globals.value, 'remoteMethod');
		application.output("value set to scopes.globals.number previous value "+ returnValue);
	}
	else
	{
		application.output("value get from scopes.globals.number :: " + null);
	}
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=isValid}{tr:id=name}{td}h6.isValid{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}isValid{span}{span}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=seeret}{td}*Also seeReturns*\\{sub-section:getClientID_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getClientID_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkdiv:class=sIndent}[Boolean]{div}{td}{tr}{tr:id=sam}{td}*External linksSample*\\{sub-section:getClientID_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getClientID_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getClientID_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getClientID_sam|trigger=none}{code:language=javascript}
var headlessClient = plugins.headlessclient.createClient("someSolution", "user", "pass", null);
var clientID = headlessClient.getClientID()
....
headlessClient = plugins.headlessclient.getClient(clientID);
if (headlessClient != null && headlessClient.isValid()) {
	 headlessClient.queueMethod(null, "someRemoteMethod", null, callback);
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getDataProviderValue-String_String|class=node}{tr:id=name}{td}h6.getDataProviderValue{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Object]{span}{span:id=iets|style=float: left; font-weight: bold;}getDataProviderValue{span}{span:id=iets|style=float: left;}\(contextName, dataprovider){spancode:language=javascript}
if (jsclient && jsclient.isValid())
{
	/*Queue a method where the callback can do something like this
	if (event.getType() == JSClient.CALLBACK_EVENT)
	{
		application.output("callback data, name: " + event.data);
	}
	else if (event.getType() == JSClient.CALLBACK_EXCEPTION_EVENT)
	{
		application.output("exception callback, name: " + event.data);
	}*/
	var x = new Object();
	x.name = 'remote1';
	x.number = 10;
	// this calls a 'remoteMethod' on the server as a global method, because the context (first argument is set to null), you can use a formname to call a form method
	jsclient.queueMethod(null, "remoteMethod", [x], callback);
}
{code}{div}{td}{tr}{builder-showtr:permissionclass=editlastDetailRow}{tr:id=destd}{td}{sub-section:getDataProviderValue-String_String_des|trigger=button|text=}{sub-section}{sub-section:getDataProviderValuetr}{tbody}{tbody:id=queueMethod-String_String_des|trigger=none|class=sIndent}Replace with description{sub-section}_ObjectArray_Function}{tr:id=name}{td}h6.queueMethod{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsig}{td}*Since*\\{sub-section:getDataProviderValue-String_String_snc|trigger=button|text=}{sub-section}{sub-section:getDataProviderValue-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}queueMethod{span}{span}\(contextName, methodName, args, notifyCallBackMethod){span}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getDataProviderValue-String_String_prs|trigger=button|text=}{sub-section}{sub-section:getDataProviderValue-String_String_prs|trigger=none|class=sIndent}\{[Stringdiv:class=sIndent}\{[String]} contextName -- The context of the given method, null if it is global method or a form name for a form method.
\{[String]} dataprovidermethodName -- the data\-provider name as seen in Servoy
{sub-section}{td The method name.
\{[Object]\[]} args -- The arguments that should be passed to the method.
\{[Function]} notifyCallBackMethod -- The callback method that is called when the execution is finished.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getDataProviderValue-String_String_ret|trigger=button|text=}{sub-section}{sub-section:getDataProviderValue-String_String_ret|trigger=none|div:class=sIndent}[Object] -- the value for the data-provider.{sub-sectionvoid{div}{td}{tr}{builder-show:permission=edit}{tr:tr:id=seesam}{td}*Also seeSample*\\{sub-section:getDataProviderValue-String_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataProviderValue-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getDataProviderValue-String_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataProviderValue-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getDataProviderValue-String_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataProviderValue-String_String_sam|trigger=none}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	// only gets the globals.media when the 'remoteMethod' is currently executing for this client
	var value = jsclient.getDataProviderValue(null, "scopes.globals.number", 'remoteMethod');
	if (value != null)
	{
		application.output("value get from scopes.globals.number :: "+ value);
		scopes.globals.value = value+10;
		var returnValue = jsclient.setDataProviderValue(null, "scopes.globals.number", scopes.globals.value, 'remoteMethod');
		application.output("value set to scopes.globals.number previous value "+ returnValue);
	}
	else
	{
		application.output("value get from scopes.globals.number :: " + null);
	}
}
{code}{sub-section}code:language=javascript}
if (jsclient && jsclient.isValid())
{
	/*Queue a method where the callback can do something like this
	if (event.getType() == JSClient.CALLBACK_EVENT)
	{
		application.output("callback data, name: " + event.data);
	}
	else if (event.getType() == JSClient.CALLBACK_EXCEPTION_EVENT)
	{
		application.output("exception callback, name: " + event.data);
	}*/
	var x = new Object();
	x.name = 'remote1';
	x.number = 10;
	// this calls a 'remoteMethod' on the server as a global method, because the context (first argument is set to null), you can use a formname to call a form method
	jsclient.queueMethod(null, "remoteMethod", [x], callback);
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setDataProviderValue-String_String_Object}{tr:id=name}{td}h6.setDataProviderValue{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Object]{span}{span:style=font-weight: bold;}setDataProviderValue{span}{span}\(contextName, dataprovider, value){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} contextName -- The context of the given method, null if it is global method or a form name for a form method.
\{[String]} dataprovider -- the data\-provider name as seen in Servoy.
\{[Object]} value -- the value to set.
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=lastDetailRow}{tdsIndent}[Object] -- the old value or null if no change.{div}{td}{tr}{tbody}{tbody:id=getDataProviderValue-String_String_String|class=node}{tr:id=namesam}{td}h6.getDataProviderValue{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Object]{span}{span:id=iets|style=float: left; font-weight: bold;}getDataProviderValue{span}{span:id=iets|style=float: left;}\(contextName, dataprovider, methodName){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getDataProviderValue-String_String_String_des|trigger=button|text=}{sub-section}{sub-section:getDataProviderValue-String_String_String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getDataProviderValue-String_String_String_snc|trigger=button|text=}{sub-section}{sub-section:getDataProviderValue-String_String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show*Sample*\\{div:class=sIndent}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	// only gets the globals.media when the 'remoteMethod' is currently executing for this client
	var value = jsclient.getDataProviderValue(null, "scopes.globals.number", 'remoteMethod');
	if (value != null)
	{
		application.output("value get from scopes.globals.number :: "+ value);
		scopes.globals.value = value+10;
		var returnValue = jsclient.setDataProviderValue(null, "scopes.globals.number", scopes.globals.value, 'remoteMethod');
		application.output("value set to scopes.globals.number previous value "+ returnValue);
	}
	else
	{
		application.output("value get from scopes.globals.number :: " + null);
	}
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setDataProviderValue-String_String_Object_String}{tr:id=name}{td}h6.setDataProviderValue{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Object]{span}{span:style=font-weight: bold;}setDataProviderValue{span}{span}\(contextName, dataprovider, value, methodName){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:getDataProviderValue-String_String_String_prs|trigger=button|text=}{sub-section}{sub-section:getDataProviderValue-String_String_String_prs|trigger=none|class=sIndent}\{[Stringdiv:class=sIndent}\{[String]} contextName -- The context of the given method;, null if it is global method or a form name for a form method.
\{[String]} dataprovider -- the data\-provider name as seen in Servoy.
\{[Object]} value -- the value to set
\{[String]} methodName -- if this is specified, the data\-provider's value will only be returnedset if the specified method is running in this headless client because the currently running client requested it to. Otherwise the value is not set into the data\-provider and undefined is returned.
{sub-sectiondiv}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getDataProviderValue-String_String_String_ret|trigger=button|text=}{sub-section}{sub-section:getDataProviderValue-String_String_String_ret|trigger=none|div:class=sIndent}[Object] -- the old value or null ofif the data-provider.{sub-sectionno change{div}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{sub-section:getDataProviderValue-String_String_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataProviderValue-String_String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getDataProviderValue-String_String_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataProviderValue-String_String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getDataProviderValue-String_String_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getDataProviderValue-String_String_String_sam|trigger=none}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	// only gets the globals.media when the 'remoteMethod' is currently executing for this client
	var value = jsclient.getDataProviderValue(null, "scopes.globals.number", 'remoteMethod');
	if (value != nulldiv:class=sIndent}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	// only gets the globals.media when the 'remoteMethod' is currently executing for this client
	var value = jsclient.getDataProviderValue(null, "scopes.globals.number", 'remoteMethod');
	if (value != null)
	{
		application.output("value get from scopes.globals.number :: "+ value);
		scopes.globals.value = value+10;
		var returnValue = jsclient.setDataProviderValue(null, "scopes.globals.number", scopes.globals.value, 'remoteMethod');
		application.output("value set to scopes.globals.number previous value "+ returnValue);
	}
	else
	{
		application.output("value get from scopes.globals.number :: " + null);
	}
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=shutdown}{tr:id=name}{td}h6.shutdown{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}shutdown{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	/*Queue a method where the callback can do something like this
	if (event.getType() == JSClient.CALLBACK_EVENT)
	{
		application.output("valuecallback get from scopes.globals.number :data, name: " + valueevent.data);
		scopes.globals.value = value+10;
		var returnValue = jsclient.setDataProviderValue(null, "scopes.globals.number", scopes.globals.value, 'remoteMethod');
}
	else if (event.getType() == JSClient.CALLBACK_EXCEPTION_EVENT)
	{
		application.output("valueexception setcallback, to scopes.globals.number previous value "+ returnValuename: " + event.data);
	}*/
	elsevar 	{
		application.output("value get from scopes.globals.number :: " + null);
	}
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=isValid|class=node}{tr:id=name}{td}h6.isValid{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}isValid{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:isValid_des|trigger=button|text=}{sub-section}{sub-section:isValid_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:isValid_snc|trigger=button|text=}{sub-section}{sub-section:isValid_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:isValid_prs|trigger=button|text=}{sub-section}{sub-section:isValid_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:isValid_ret|trigger=button|text=}{sub-section}{sub-section:isValid_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:isValid_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:isValid_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:isValid_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:isValid_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:isValid_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:isValid_sam|trigger=none}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	/*Queue a method where the callback can do something like this
	if (event.getType() == JSClient.CALLBACK_EVENT)
	{
		application.output("callback data, name: " + event.data);
	}
	else if (event.getType() == JSClient.CALLBACK_EXCEPTION_EVENT)
	{
		application.output("exception callback, name: " + event.data);
	}*/
	var x = new Object();
	x.name = 'remote1';
	x.number = 10;
	// this calls a 'remoteMethod' on the server as a global method, because the context (first argument is set to null), you can use a formname to call a form method
	jsclient.queueMethod(null, "remoteMethod", [x], callback);
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=queueMethod-String_String_ObjectArray_Function|class=node}{tr:id=name}{td}h6.queueMethod{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}queueMethod{span}{span:id=iets|style=float: left;}\(contextName, methodName, args, notifyCallBackMethod){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:queueMethod-String_String_ObjectArray_Function_des|trigger=button|text=}{sub-section}{sub-section:queueMethod-String_String_ObjectArray_Function_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:queueMethod-String_String_ObjectArray_Function_snc|trigger=button|text=}{sub-section}{sub-section:queueMethod-String_String_ObjectArray_Function_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:queueMethod-String_String_ObjectArray_Function_prs|trigger=button|text=}{sub-section}{sub-section:queueMethod-String_String_ObjectArray_Function_prs|trigger=none|class=sIndent}\{[String]} contextName -- The context of the given method, null if it is global method or a form name for a form method.
\{[String]} methodName -- The method name.
\{[Object]\[]} args -- The arguments that should be passed to the method.
\{[Function]} notifyCallBackMethod -- The callback method that is called when the execution is finished.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:queueMethod-String_String_ObjectArray_Function_ret|trigger=button|text=}{sub-section}{sub-section:queueMethod-String_String_ObjectArray_Function_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:queueMethod-String_String_ObjectArray_Function_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:queueMethod-String_String_ObjectArray_Function_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:queueMethod-String_String_ObjectArray_Function_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:queueMethod-String_String_ObjectArray_Function_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:queueMethod-String_String_ObjectArray_Function_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:queueMethod-String_String_ObjectArray_Function_sam|trigger=none}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	/*Queue a method where the callback can do something like this
	if (event.getType() == JSClient.CALLBACK_EVENT)
	{
		application.output("callback data, name: " + event.data);
	}
	else if (event.getType() == JSClient.CALLBACK_EXCEPTION_EVENT)
	{
		application.output("exception callback, name: " + event.data);
	}*/
	var x = new Object();
	x.name = 'remote1';
	x.number = 10;
	// this calls a 'remoteMethod' on the server as a global method, because the context (first argument is set to null), you can use a formname to call a form method
	jsclient.queueMethod(null, "remoteMethod", [x], callback);
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setDataProviderValue-String_String_Object|class=node}{tr:id=name}{td}h6.setDataProviderValue{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Object]{span}{span:id=iets|style=float: left; font-weight: bold;}setDataProviderValue{span}{span:id=iets|style=float: left;}\(contextName, dataprovider, value){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:setDataProviderValue-String_String_Object_des|trigger=button|text=}{sub-section}{sub-section:setDataProviderValue-String_String_Object_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setDataProviderValue-String_String_Object_snc|trigger=button|text=}{sub-section}{sub-section:setDataProviderValue-String_String_Object_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:setDataProviderValue-String_String_Object_prs|trigger=button|text=}{sub-section}{sub-section:setDataProviderValue-String_String_Object_prs|trigger=none|class=sIndent}\{[String]} contextName -- The context of the given method, null if it is global method or a form name for a form method.
\{[String]} dataprovider -- the data\-provider name as seen in Servoy.
\{[Object]} value -- the value to set.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:setDataProviderValue-String_String_Object_ret|trigger=button|text=}{sub-section}{sub-section:setDataProviderValue-String_String_Object_ret|trigger=none|class=sIndent}[Object] -- the old value or null if no change.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setDataProviderValue-String_String_Object_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:setDataProviderValue-String_String_Object_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setDataProviderValue-String_String_Object_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:setDataProviderValue-String_String_Object_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setDataProviderValue-String_String_Object_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:setDataProviderValue-String_String_Object_sam|trigger=none}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	// only gets the globals.media when the 'remoteMethod' is currently executing for this client
	var value = jsclient.getDataProviderValue(null, "scopes.globals.number", 'remoteMethod');
	if (value != null)
	{
		application.output("value get from scopes.globals.number :: "+ value);
		scopes.globals.value = value+10;
		var returnValue = jsclient.setDataProviderValue(null, "scopes.globals.number", scopes.globals.value, 'remoteMethod');
		application.output("value set to scopes.globals.number previous value "+ returnValue);
	}
	else
	{
		application.output("value get from scopes.globals.number :: " + null);
	}
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=setDataProviderValue-String_String_Object_String|class=node}{tr:id=name}{td}h6.setDataProviderValue{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Object]{span}{span:id=iets|style=float: left; font-weight: bold;}setDataProviderValue{span}{span:id=iets|style=float: left;}\(contextName, dataprovider, value, methodName){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:setDataProviderValue-String_String_Object_String_des|trigger=button|text=}{sub-section}{sub-section:setDataProviderValue-String_String_Object_String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:setDataProviderValue-String_String_Object_String_snc|trigger=button|text=}{sub-section}{sub-section:setDataProviderValue-String_String_Object_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:setDataProviderValue-String_String_Object_String_prs|trigger=button|text=}{sub-section}{sub-section:setDataProviderValue-String_String_Object_String_prs|trigger=none|class=sIndent}\{[String]} contextName -- The context of the given method, null if it is global method or a form name for a form method
\{[String]} dataprovider -- the data\-provider name as seen in Servoy
\{[Object]} value -- the value to set
\{[String]} methodName -- if this is specified, the data\-provider's value will only be set if the specified method is running in this headless client because the currently running client requested it to. Otherwise the value is not set into the data\-provider and undefined is returned.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:setDataProviderValue-String_String_Object_String_ret|trigger=button|text=}{sub-section}{sub-section:setDataProviderValue-String_String_Object_String_ret|trigger=none|class=sIndent}[Object] -- the old value or null if no change{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:setDataProviderValue-String_String_Object_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:setDataProviderValue-String_String_Object_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:setDataProviderValue-String_String_Object_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:setDataProviderValue-String_String_Object_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:setDataProviderValue-String_String_Object_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:setDataProviderValue-String_String_Object_String_sam|trigger=none}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	// only gets the globals.media when the 'remoteMethod' is currently executing for this client
	var value = jsclient.getDataProviderValue(null, "scopes.globals.number", 'remoteMethod');
	if (value != null)
	{
		application.output("value get from scopes.globals.number :: "+ value);
		scopes.globals.value = value+10;
		var returnValue = jsclient.setDataProviderValue(null, "scopes.globals.number", scopes.globals.value, 'remoteMethod');
		application.output("value set to scopes.globals.number previous value "+ returnValue);
	}
	else
	{
		application.output("value get from scopes.globals.number :: " + null);
	}
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=shutdown|class=node}{tr:id=name}{td}h6.shutdown{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}shutdown{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:shutdown_des|trigger=button|text=}{sub-section}{sub-section:shutdown_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:shutdown_snc|trigger=button|text=}{sub-section}{sub-section:shutdown_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:shutdown_prs|trigger=button|text=}{sub-section}{sub-section:shutdown_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:shutdown_ret|trigger=button|text=}{sub-section}{sub-section:shutdown_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:shutdown_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:shutdown_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:shutdown_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:shutdown_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:shutdown_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:shutdown_sam|trigger=none}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	/*Queue a method where the callback can do something like this
	if (event.getType() == JSClient.CALLBACK_EVENT)
	{
		application.output("callback data, name: " + event.data);
	}
	else if (event.getType() == JSClient.CALLBACK_EXCEPTION_EVENT)
	{
		application.output("exception callback, name: " + event.data);
	}*/
	var x = new Object();
	x.name = 'remote1';
	x.number = 10;
	// this calls a 'remoteMethod' on the server as a global method, because the context (first argument is set to null), you can use a formname to call a form method
	jsclient.queueMethod(null, "remoteMethod", [x], callback);
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=shutdown-Boolean|class=node}{tr:id=name}{td}h6.shutdown{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}shutdown{span}{span:id=iets|style=float: left;}\(force){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:shutdown-Boolean_des|trigger=button|text=}{sub-section}{sub-section:shutdown-Boolean_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:shutdown-Boolean_snc|trigger=button|text=}{sub-section}{sub-section:shutdown-Boolean_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:shutdown-Boolean_prs|trigger=button|text=}{sub-section}{sub-section:shutdown-Boolean_prs|trigger=none|class=sIndent}\{[Boolean]} force
{sub-section}x = new Object();
	x.name = 'remote1';
	x.number = 10;
	// this calls a 'remoteMethod' on the server as a global method, because the context (first argument is set to null), you can use a formname to call a form method
	jsclient.queueMethod(null, "remoteMethod", [x], callback);
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=shutdown-Boolean}{tr:id=name}{td}h6.shutdown{td}{tr}{tr:id=retsig}{td}*Returns*\\{sub-section:shutdown-Boolean_ret|trigger=button|text=}{sub-section}{sub-section:shutdown-Boolean_ret|trigger=none|class=sIndent}void{sub-section{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}shutdown{span}{span}\(force){span}{td}{tr}{builder-show:permission=edit}{tr:id=seeprs}{td}*Also seeParameters*\\{sub-section:shutdown-Boolean_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:shutdown-Boolean_see|trigger=none}{sub-section}\{[Boolean]} force
{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkret}{td}*External linksReturns*\\{sub-section:shutdown-Boolean_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:shutdown-Boolean_link|trigger=none}{sub-section}void{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:shutdown-Boolean_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:shutdown-Boolean_sam|trigger=none}{code:language=javascript}
if (jsclient && jsclient.isValid())
{
	/*Queue a method where the callback can do something like this
	if (event.getType() == JSClient.CALLBACK_EVENT)
	{
		application.output("callback data, name: " + event.data);
	}
	else if (event.getType() == JSClient.CALLBACK_EXCEPTION_EVENT)
	{
		application.output("exception callback, name: " + event.data);
	}*/
	var x = new Object();
	x.name = 'remote1';
	x.number = 10;
	// this calls a 'remoteMethod' on the server as a global method, because the context (first argument is set to null), you can use a formname to call a form method
	jsclient.queueMethod(null, "remoteMethod", [x], callback);
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}