Object AdapterManager
-
- All Implemented Interfaces:
public class AdapterManager
Manages the lifecycle and communication of adapter extensions in the Scorpio API. This object provides methods to register adapters, send messages, and manage filters.
-
-
Field Summary
Fields Modifier and Type Field Description public final static AdapterManager
INSTANCE
-
Method Summary
Modifier and Type Method Description final Unit
setLogger(Logger logger)
Sets the logger for the AdapterManager. final Unit
setReceivePlatformMessage(Function1<PlatformMessage, Unit> expect)
Sets the method for receiving platform messages. final Unit
registerFilter(Function1<Message, Message> filter)
Registers a filter for processing messages. final Unit
registerAdapter(AdapterExtension adapter)
Registers an adapter extension. final Unit
unregisterAdapter(AdapterExtension adapter)
Unregisters an adapter extension. final Unit
unregisterAdapter(String identifier)
Unregisters an adapter extension. final Unit
clearAllAdapters()
Clears all registered adapters, shutting them down if they are active. final Unit
sendMessageToAllAdapters(Message message)
Sends a message to all registered adapters. final Unit
receiveAdaptersMessage(Message message)
Receives and processes a message from adapters. final AdapterExtension
getAdapterById(String id)
Retrieves an adapter by its identifier. -
-
Method Detail
-
setLogger
final Unit setLogger(Logger logger)
Sets the logger for the AdapterManager. Adapters should not call this method.
- Parameters:
logger
- the Logger instance to be used for logging
-
setReceivePlatformMessage
final Unit setReceivePlatformMessage(Function1<PlatformMessage, Unit> expect)
Sets the method for receiving platform messages. This method should only be called by the main plugin and should not be called by adapters.
- Parameters:
expect
- the function to handle incoming PlatformMessage
-
registerFilter
final Unit registerFilter(Function1<Message, Message> filter)
Registers a filter for processing messages.
- Parameters:
filter
- a function that takes a Message and returns a filtered Message or null
-
registerAdapter
final Unit registerAdapter(AdapterExtension adapter)
Registers an adapter extension. If an adapter with the same identifier is already registered, it will be shut down before registering the new one.
- Parameters:
adapter
- the AdapterExtension to be registered
-
unregisterAdapter
final Unit unregisterAdapter(AdapterExtension adapter)
Unregisters an adapter extension.
- Parameters:
adapter
- the AdapterExtension to be unregistered
-
unregisterAdapter
final Unit unregisterAdapter(String identifier)
Unregisters an adapter extension.
- Parameters:
identifier
- the Adapter Identifier to be unregistered
-
clearAllAdapters
final Unit clearAllAdapters()
Clears all registered adapters, shutting them down if they are active.
-
sendMessageToAllAdapters
final Unit sendMessageToAllAdapters(Message message)
Sends a message to all registered adapters. If a filter is registered, the message will be processed by it before being sent.
- Parameters:
message
- the Message to be sent to all adapters
-
receiveAdaptersMessage
final Unit receiveAdaptersMessage(Message message)
Receives and processes a message from adapters. If the message is a PlatformMessage, it will be sent to the registered receive method.
- Parameters:
message
- the Message received from an adapter
-
getAdapterById
final AdapterExtension getAdapterById(String id)
Retrieves an adapter by its identifier.
- Parameters:
id
- the identifier of the adapter- Returns:
the AdapterExtension if found, null otherwise
-
-
-
-