Package sk.ipesoft.d2000.d2japi
Interface D2Connector
-
- All Superinterfaces:
D2SessionFactory
- All Known Implementing Classes:
Connector
public interface D2Connector extends D2SessionFactory
D2000 JAPI connector. Each instance of JVM should use just one instance of D2Connector to connect to one instance of D2Connector.exe - proxy client to D2000 kernel.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Convertor
createDictionaryConvertor(int languageIndex)
Create new instance of dictionary convertor for specified language.Translator
createDictionaryTranslator(int languageIndex)
Create new instance of dictionary translator for specified language.ObjectInfoCache
createObjectInfoCache(int cacheTimeMilliseconds)
Create new instance of ObjectInfoCache with defined maximum cache time.UnivalConvertor
createUnivalConvertor()
Create new instance ofUnivalConvertor
attached to connector's structure definition resolver.java.util.TimeZone
getApplicationTimeZone()
Get time zone of D2000 kernel.java.util.concurrent.Executor
getConnectionExecutor()
Get executor used by this connector and its related sessions to perform background tasks.java.lang.String
getConnectionName()
Get connection string.long
getCurrentServerTimeMilliseconds()
Get current system time in milliseconds since unix epoch of connected D2000 kernel.ObjectInfoCache
getDefaultObjectInfoCache()
Get reference to default instance of ObjectInfoCache.UnivalConvertor
getDefaultUnivalConvertor()
Get default instance of unival convertor.SharedResourcesCache
getSharedResourcesCache()
Get cache of shared resources.D2StructureDefinitionResolver
getStructureDefinitionResolver()
Get reference to D2000 structure definition cache.long
getTotalBytesRead()
Get number of bytes read from stream.long
getTotalBytesSent()
Get number of bytes sent into stream.boolean
isConnected()
Get state of being connected do D2Connector.exe.void
registerStructureClasses(java.util.List<? extends java.lang.Class<?>> list)
Register implementations ofTable
classes for use in structured univals.void
setAutonomousWatchdog(boolean value)
Activate autonomous watchdog.-
Methods inherited from interface sk.ipesoft.d2000.d2japi.D2SessionFactory
close, createSession, createSession, createSessionWithSpnego, isClosed
-
-
-
-
Method Detail
-
getTotalBytesRead
long getTotalBytesRead()
Get number of bytes read from stream. Note that actual number of bytes received from socket may differ when TLS is used.- Returns:
-
getTotalBytesSent
long getTotalBytesSent()
Get number of bytes sent into stream. Note that actual number of bytes sent by socket may differ when TLS is used.- Returns:
-
setAutonomousWatchdog
void setAutonomousWatchdog(boolean value)
Activate autonomous watchdog. Watchdog ensures that a message is send to d2connector.exe at least every 5 seconds.- Parameters:
value
-true
to activate orfalse
to deactivate.
-
createDictionaryConvertor
Convertor createDictionaryConvertor(int languageIndex)
Create new instance of dictionary convertor for specified language. Dictionary convertor instance is thread safe.- Parameters:
languageIndex
- index of language- Returns:
- dictionary convertor for specified language
-
createDictionaryTranslator
Translator createDictionaryTranslator(int languageIndex)
Create new instance of dictionary translator for specified language. Dictionary translator is thread safe.- Parameters:
languageIndex
- index of language- Returns:
- dictionary translator for specified language
-
createObjectInfoCache
ObjectInfoCache createObjectInfoCache(int cacheTimeMilliseconds)
Create new instance of ObjectInfoCache with defined maximum cache time.- Parameters:
cacheTimeMilliseconds
- maximal amount of time an item is cached- Returns:
- new instance
-
createUnivalConvertor
UnivalConvertor createUnivalConvertor()
Create new instance ofUnivalConvertor
attached to connector's structure definition resolver. Unival convertor is thread safe.- Returns:
- new instance of convertor
-
getApplicationTimeZone
java.util.TimeZone getApplicationTimeZone()
Get time zone of D2000 kernel. May return local time zone if kernel doesn't provide time zone information. Returnnull
before the first successful session connection.- Returns:
- default application time zone
-
getConnectionExecutor
java.util.concurrent.Executor getConnectionExecutor()
Get executor used by this connector and its related sessions to perform background tasks. It can be used for other background tasks in order to utilize idle worker threads from its thread pool.Since returned executor is initiated by
Executors.newCachedThreadPool()
it should be used for mostly IO-bound tasks, such as waiting for and processing asynchronous events, because it would spawn any number of new worker threads, if more tasks are to be executed simultaneously.It is inadvisable to pollute it with many CPU-intensive, long-running tasks, since it would degrade overall performance of the whole system. Use dedicated
Executors.newFixedThreadPool(int)
for CPU intensive tasks instead.- Returns:
- executor used by this connector instance and its related sessions
-
getConnectionName
java.lang.String getConnectionName()
Get connection string.- Returns:
- connection string
-
getCurrentServerTimeMilliseconds
long getCurrentServerTimeMilliseconds()
Get current system time in milliseconds since unix epoch of connected D2000 kernel.- Returns:
- current system time of connected D2000 kernel
-
getDefaultObjectInfoCache
ObjectInfoCache getDefaultObjectInfoCache()
Get reference to default instance of ObjectInfoCache.- Returns:
- default instance of ObjectInfoCache
-
getDefaultUnivalConvertor
UnivalConvertor getDefaultUnivalConvertor()
Get default instance of unival convertor. Unival convertor is thread safe.- Returns:
- default instance of unival convertor
-
getSharedResourcesCache
SharedResourcesCache getSharedResourcesCache()
Get cache of shared resources.- Returns:
- cache of shared resources
-
getStructureDefinitionResolver
D2StructureDefinitionResolver getStructureDefinitionResolver()
Get reference to D2000 structure definition cache.- Returns:
- D2000 structure definition cache
-
isConnected
boolean isConnected()
Get state of being connected do D2Connector.exe.- Returns:
true
if connected
-
registerStructureClasses
void registerStructureClasses(java.util.List<? extends java.lang.Class<?>> list)
Register implementations ofTable
classes for use in structured univals. Registered class must be appropriately annotated withStructureTableDefinition
andStructureConstructor
.- Parameters:
list
- list of classes to be used by structured univals.
-
-