InterfaceProvider.java
1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
* This file is part of LiteLoader.
* Copyright (C) 2012-16 Adam Mummery-Smith
* All Rights Reserved.
*/
package com.mumfrey.liteloader.api;
import com.mumfrey.liteloader.core.InterfaceRegistrationDelegate;
/**
* LiteLoader Extensible API - Interface Provider
*
* InterfaceProviders are able to advertise and provide Listener interfaces
* which can be implemented by mods or other Listener-derived classes.
*
* @author Adam Mummery-Smith
*/
public interface InterfaceProvider
{
/**
* Base type of Listeners which can consume events provided by this provider
*/
public abstract Class<? extends Listener> getListenerBaseType();
/**
* The provider should call back against the supplied delegate in order to
* advertise the interfaces it provides.
*
* @param delegate
*/
public abstract void registerInterfaces(InterfaceRegistrationDelegate delegate);
/**
* Initialise this provider, called AFTER enumeration but before binding
*/
public abstract void initProvider();
}