com.migratorydata.extensions.entry.MigratoryDataExtensionsEntryPoint Maven / Gradle / Ivy
package com.migratorydata.extensions.entry;
import com.migratorydata.extensions.audit.MigratoryDataAccessListener;
import com.migratorydata.extensions.audit.MigratoryDataCacheListener;
import com.migratorydata.extensions.audit.MigratoryDataMessageListener;
import com.migratorydata.extensions.audit.MigratoryDataStatsListener;
import com.migratorydata.extensions.authorization.v2.MigratoryDataAuthorizationListener;
import com.migratorydata.extensions.presence.MigratoryDataPresenceListener;
/**
* If there is a need to combine multiple extensions, the entry point interface should be extended to include all the
* required extension interfaces.
*
* The entry point interface should be implemented by the extension class that is loaded by the MigratoryData server.
*
* The name of the jar which contains the extension class should be name `all-extensions.jar` and must be placed in the
* `extensions` directory of the MigratoryData server.
*
* The return of the following methods should be the implementation of the extension interfaces.
*/
public interface MigratoryDataExtensionsEntryPoint {
/**
* Notify various access events such as connect, disconnect, subscribe, and unsubscribe.
*
* @return the implementation of the MigratoryDataAccessListener interface.
*/
public MigratoryDataAccessListener getMigratoryDataAccessListener();
/**
* Notify various cache events such as cache hit, cache miss, and cache full.
*
* @return the implementation of the MigratoryDataCacheListener interface.
*/
public MigratoryDataCacheListener getMigratoryDataCacheListener();
/**
* Notify various message events such as message received, message sent, and message dropped.
*
* @return the implementation of the MigratoryDataMessageListener interface.
*/
public MigratoryDataMessageListener getMigratoryDataMessageListener();
/**
* Notify various statistics information.
*
* @return the implementation of the MigratoryDataStatsListener interface.
*/
public MigratoryDataStatsListener getMigratoryDataStatsListener();
/**
* This interface provides all necessary methods for authenticating and controlling data access for any client that
* attempts to connect to the MigratoryData server to consume and publish realtime data.
*
* @return the implementation of the MigratoryDataAuthorizationListener interface.
*/
public MigratoryDataAuthorizationListener getMigratoryDataAuthorizationListener();
/**
* This API interface handles presence events from the MigratoryData cluster.
*
* @return the implementation of the MigratoryDataPresenceListener interface.
*/
public MigratoryDataPresenceListener getMigratoryDataPresenceListener();
}