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.

    • Constructor Detail

    • 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(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