%External.GeneralImpl

%External.GeneralImpl is an abstract class that implements the %External.Interface interface and defines and provides the implementation for %SYSTEM.external class interface.


This class is not to be used directly. Internal use only. For the public interface, refer to %SYSTEM.external.

Internal Note: The interface for GeneralImpl is the same as for System with one notable exception - all methods accept an External Language Server name. Be sure to keep the API consistent between them.

Method Inventory

Methods

classmethod getDotNetGateway() as %External.Gateway [ Language = objectscript ]
classmethod getExternalLanguage(externalServerName As %String) as %String [ Language = objectscript ]
Return the external language from the External Language Server.
classmethod getExternalLanguageVersion(externalServerName As %String) as %String [ Language = objectscript ]
Return the external language version from the External Language Server.
classmethod getGateway(externalServer As %RawString) as %External.Gateway [ Language = objectscript ]
Return a new gateway connection to an External Language Server. This method does not retrieve an existing cached gateway connection. It always acquires a new gateway connection to the requested External Language Server.
classmethod getIMLGateway() as %External.Gateway [ Language = objectscript ]
classmethod getJDBCGateway() as %External.Gateway [ Language = objectscript ]
classmethod getJavaGateway() as %External.JavaGateway [ Language = objectscript ]
classmethod getProperty(externalServerName As %String, externalClass As %String, propertyName As %String) as %ObjectHandle [ Language = objectscript ]
Return the value of a static property from the external class.
classmethod getPythonGateway() as %External.Gateway [ Language = objectscript ]
classmethod getRGateway() as %External.Gateway [ Language = objectscript ]
classmethod getRemoteGateway(host As %RawString, port As %Integer, timeout As %Numeric) as %External.Gateway [ Language = objectscript ]
classmethod getXSLTGateway() as %External.Gateway [ Language = objectscript ]
classmethod invoke(externalServerName As %String, externalClass As %String, externalMethod As %String, args... As %RawString) as %RawString [ Language = objectscript ]
Invoke external code. If invoke() is called as an expression then return any value returned by the external code. If no value is returned by the external code then a <COMMAND> exception is thrown. The externalClass is expected to be passed as the name of the external code container. For Java this is the Java class name. For Python this can be the name of a class or module. The externalMethod is the name of the external unit of code (function, method, etc.) to invoke in the externalClass container. The return value is the value returned by the external code. If the external method does not return a value then invoke() does not return a value.
classmethod new(externalServerName As %String, externalClass As %String, args... As %RawString) as %Net.Remote.Object [ Language = objectscript ]
Return a new instance of %Net.Remote.Object that is bound to an instance of the external class. Pass the externalClass and any additional constructor arguments necessary.
classmethod serverExists(serverName As %String) as %Boolean [ Language = objectscript ]
Return true (ObjectScript(1)) if the External Language Server exists, false otherwise.
classmethod setProperty(externalServerName As %String, externalClass As %String, propertyName As %String, value As %RawString) [ Language = objectscript ]
Set the value of a static property in the external class.

Inherited Members

Inherited Methods

Subclasses

Feedback