Skip to main content

%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(useSharedMemoryIfPossible) as %External.Gateway
classmethod getExternalLanguage(externalServerName As %String) as %String
Return the external language from the External Language Server.
classmethod getExternalLanguageVersion(externalServerName As %String) as %String
Return the external language version from the External Language Server.
classmethod getGateway(externalServer As %RawString, useSharedMemoryIfPossible) as %External.Gateway
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(useSharedMemoryIfPossible) as %External.Gateway
classmethod getJDBCGateway(useSharedMemoryIfPossible) as %External.Gateway
classmethod getJavaGateway(useSharedMemoryIfPossible) as %External.JavaGateway
classmethod getODBCGateway(useSharedMemoryIfPossible) as %External.Gateway
classmethod getProperty(externalServerName As %String, externalClass As %String, propertyName As %String) as %ObjectHandle
Return the value of a static property from the external class.
classmethod getPythonGateway(useSharedMemoryIfPossible) as %External.Gateway
classmethod getRGateway(useSharedMemoryIfPossible) as %External.Gateway
classmethod getRemoteGateway(host As %RawString, port As %Integer, timeout As %Numeric, useSharedMemoryIfPossible) as %External.Gateway
classmethod getXSLTGateway(useSharedMemoryIfPossible) as %External.Gateway
classmethod invoke(externalServerName As %String, externalClass As %String, externalMethod As %String, args... As %RawString) as %RawString
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
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
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)
Set the value of a static property in the external class.

Inherited Members

Inherited Methods

Subclasses

FeedbackOpens in a new tab