Interface GatewayConnection
- All Known Implementing Classes:
AbstractGatewayConnection
,ClientGatewayConnection
,DesignerGatewayConnection
public interface GatewayConnection
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Boolean property fired to interested property change listeners whenconnect(List)
is called (false -> true) and whendisconnect()
is called (true -> false).static final String
Integer property fired to interested property change listeners when the connection mode changes.static final String
String property fired to interested property change listeners when the WebSocket connection is opened (false -> true) and when it is closed (true -> false).static final String
String property fired to interested property change listeners when the address of the Gateway to which this GatewayConnection is targeted changes.static final String
String property fired to interested property change listeners when the Redundancy Role of the Gateway targeted by this connection changes.static final String
TimeZone
property fired to interested property change listeners when the Timezone of the Gateway to which this GatewayConnection is targeted changes.static final String
String property fired to interested property change listeners when the project for this GatewayConnection changes.static final String
String array property fired to interested property change listeners when the roles of the user logged into the Gateway targeted by this connection changes.static final String
String property fired to interested property change listeners when the WebSocket connection is opened (false -> true) and when it is closed (true -> false).static final String
String property fired to interested property change listeners when the username of the user logged into the Gateway targeted by this connection changes.static final String
String array property fired to interested property change listeners when the security zones of the user logged into the Gateway targeted by this connection changes. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Different from the ConnectionListener in the sense that this listener is intended for use in redundant setups, where the status of the inactive connection must be updated along with the status of the active connection.void
void
addPropertyChangeListener
(String propName, PropertyChangeListener l) default void
Adds a handler for empty push notifications, where the message itself is the only signal.<T> void
addPushNotificationListener
(PushNotificationListener<T> listener, PushNotificationDeserializer<T> deserializer) Adds a handler for push notifications.authChallengeLogin
(String projectName, AuthChallenge challenge) void
Connect to the gateway(s) specifiedvoid
Returns a list of all possible Gateway addresses that are known to the client.The encrypted auth challenge that was used to log inint
Returns the current connection modeint
Returns the address of the gateway that is currently being communicated with.Returns the string version of the currently connected gateway's "Node Role", which will be one of: Independent Master BackupReturns the url to the web portion of the gateway, like "http[s]://<address>:<port>[/context]"int
The number of concurrent HTTP connections allowed.int
The name of the project that we are currently logged into, if any.getRoles()
The set of roles that the actively logged in user has, if any.static <T> T
getRpcInterface
(@NotNull ClientRpcSerializer serializer, @NotNull String moduleId, @NotNull Class<T> rpcInterface) Returns a proxy object that implements the given interface.static <T> T
getRpcInterface
(@NotNull ClientRpcSerializer serializer, @NotNull String moduleId, @NotNull Class<T> rpcInterface, int timeoutMillis) Returns a proxy object that implements the given interface.Returns "http" or "https" depending on our transport schemeThe set of security zones that the actively logged in user has, if any.int
The username of the actively logged in user, if any.idpLoginFinish
(String projectName) idpLoginStart
(String projectName) boolean
boolean
boolean
boolean
void
logout()
void
void
void
removePropertyChangeListener
(String propName, PropertyChangeListener l) void
removePushNotificationListener
(PushNotificationListener<?> listener) void
setConnectionMode
(int connectionMode) void
setConnectTimeout
(int connectTimeout) void
setHttpConcurrency
(int concurrency) void
setOpcBrowseTimeout
(int opcBrowseTimeout) void
setSocketTimeout
(int socketTimeout) void
Manually update the status of all connection listeners.
-
Field Details
-
CONNECTED
Boolean property fired to interested property change listeners whenconnect(List)
is called (false -> true) and whendisconnect()
is called (true -> false).- See Also:
-
GATEWAY_ADDRESS
String property fired to interested property change listeners when the address of the Gateway to which this GatewayConnection is targeted changes. The String is the result fromHttpURL.toString()
.- See Also:
-
GATEWAY_TIME_ZONE
TimeZone
property fired to interested property change listeners when the Timezone of the Gateway to which this GatewayConnection is targeted changes.- See Also:
-
PROJECT_NAME
String property fired to interested property change listeners when the project for this GatewayConnection changes.- See Also:
-
USERNAME
String property fired to interested property change listeners when the username of the user logged into the Gateway targeted by this connection changes.- See Also:
-
ROLES
String array property fired to interested property change listeners when the roles of the user logged into the Gateway targeted by this connection changes.- See Also:
-
ZONES
String array property fired to interested property change listeners when the security zones of the user logged into the Gateway targeted by this connection changes.- See Also:
-
GATEWAY_NODE_ROLE
String property fired to interested property change listeners when the Redundancy Role of the Gateway targeted by this connection changes. The String is the result fromEnum.toString()
.- See Also:
-
CONNECTION_MODE
Integer property fired to interested property change listeners when the connection mode changes. The value could be one ofGatewayConstants.MODE_DISCONNECTED
,GatewayConstants.MODE_READ_ONLY
, orGatewayConstants.MODE_FULL
.- See Also:
-
CONNECTION_UP
String property fired to interested property change listeners when the WebSocket connection is opened (false -> true) and when it is closed (true -> false).- See Also:
-
SESSION_VALID
String property fired to interested property change listeners when the WebSocket connection is opened (false -> true) and when it is closed (true -> false).- See Also:
-
-
Method Details
-
connect
Connect to the gateway(s) specified -
disconnect
void disconnect() -
getGatewayAddress
HttpURL getGatewayAddress()Returns the address of the gateway that is currently being communicated with. -
getAllAddresses
Returns a list of all possible Gateway addresses that are known to the client. This list includes redundant master and backup addresses. The list is used for client restarts. -
getGatewayInterface
GatewayInterface getGatewayInterface() -
getGatewayWebURL
String getGatewayWebURL()Returns the url to the web portion of the gateway, like "http[s]://<address>:<port>[/context]" -
getScheme
String getScheme()Returns "http" or "https" depending on our transport scheme -
getGatewayNodeRole
String getGatewayNodeRole()Returns the string version of the currently connected gateway's "Node Role", which will be one of:- Independent
- Master
- Backup
-
getGatewayTimeZone
TimeZone getGatewayTimeZone() -
authChallengeLogin
AuthenticatedUser authChallengeLogin(@Nullable String projectName, AuthChallenge challenge) throws GatewayException - Throws:
GatewayException
-
idpLoginStart
- Throws:
GatewayException
-
idpLoginFinish
- Throws:
GatewayException
-
logout
void logout() -
getConnectionMode
int getConnectionMode()Returns the current connection mode -
setConnectionMode
void setConnectionMode(int connectionMode) -
isConnected
boolean isConnected() -
isConnectionUp
boolean isConnectionUp() -
isSessionValid
boolean isSessionValid() -
addPushNotificationListener
<T> void addPushNotificationListener(PushNotificationListener<T> listener, PushNotificationDeserializer<T> deserializer) Adds a handler for push notifications. The provided deserializer is used to convert incoming raw binary bytes into your handler's expected message type.- Parameters:
listener
- The listener to add.deserializer
- The deserializer to use.
-
addPushNotificationListener
Adds a handler for empty push notifications, where the message itself is the only signal. -
removePushNotificationListener
-
addPropertyChangeListener
-
removePropertyChangeListener
-
addPropertyChangeListener
-
removePropertyChangeListener
-
getProjectName
String getProjectName()The name of the project that we are currently logged into, if any. -
getUsername
String getUsername()The username of the actively logged in user, if any. -
getAuthChallenge
AuthChallenge getAuthChallenge()The encrypted auth challenge that was used to log in -
getRoles
The set of roles that the actively logged in user has, if any. -
getSecurityZones
The set of security zones that the actively logged in user has, if any. -
getConnectTimeout
int getConnectTimeout() -
setConnectTimeout
void setConnectTimeout(int connectTimeout) -
getSocketTimeout
int getSocketTimeout() -
setSocketTimeout
void setSocketTimeout(int socketTimeout) -
getOpcBrowseTimeout
int getOpcBrowseTimeout() -
setOpcBrowseTimeout
void setOpcBrowseTimeout(int opcBrowseTimeout) -
getHttpConcurrency
int getHttpConcurrency()The number of concurrent HTTP connections allowed. 0 or less means unlimited. -
setHttpConcurrency
void setHttpConcurrency(int concurrency) -
addConnectionStatusListener
Different from the ConnectionListener in the sense that this listener is intended for use in redundant setups, where the status of the inactive connection must be updated along with the status of the active connection. The passed ConnectionStatusListener will be continually updated with master/independent and backup connection status every few seconds. -
removeConnectionStatusListener
-
triggerConnectionStatusListeners
void triggerConnectionStatusListeners()Manually update the status of all connection listeners. Use this in situations where listeners need an immediate update without waiting for the normal thread task to fire (such as when first displaying a status panel). -
getEdgeProjectName
String getEdgeProjectName()- Returns:
- the name of the Edge project as defined by the user on the edge gateway settings
-
isPlatformLicensed
boolean isPlatformLicensed() -
getRpcInterface
static <T> T getRpcInterface(@NotNull @NotNull ClientRpcSerializer serializer, @NotNull @NotNull String moduleId, @NotNull @NotNull Class<T> rpcInterface, int timeoutMillis) Returns a proxy object that implements the given interface. The proxy object will make remote calls to the gateway to execute the methods of the interface.- Parameters:
serializer
- The serializer to use for the RPC calls.moduleId
- The module ID that defines the RPC interface, orResource.PLATFORM_MODULE_ID
for platformrpcInterface
- The interface to implement.timeoutMillis
- The timeout in milliseconds for the RPC calls.
-
getRpcInterface
static <T> T getRpcInterface(@NotNull @NotNull ClientRpcSerializer serializer, @NotNull @NotNull String moduleId, @NotNull @NotNull Class<T> rpcInterface) Returns a proxy object that implements the given interface. The proxy object will make remote calls to the gateway to execute the methods of the interface. This overload is hardcoded to theDESIGNER_SESSION_TIMEOUT
value, default of 60 seconds.- Parameters:
serializer
- The serializer to use for the RPC calls.moduleId
- The module ID that defines the RPC interface, orResource.PLATFORM_MODULE_ID
for platformrpcInterface
- The interface to implement.
-