The Fetcharr API. The API allows plugins to read and modify Fetcharr data, change behavior of the app, listen to certain events, and integrate Fetcharr into other systems. This interface represents the base of the API package. All functions are accessed via this interface. To sta
| 26 | * accessor in {@link FetcharrAPIProvider}.</p> |
| 27 | */ |
| 28 | public interface FetcharrAPI { |
| 29 | /** |
| 30 | * Gets the main Fetcharr {@link EventRegistry}, |
| 31 | * where all {@link FetcharrEvent} API events pass through. |
| 32 | * |
| 33 | * @return the Fetcharr event registry |
| 34 | */ |
| 35 | @NotNull EventRegistry<@NotNull FetcharrEvent> events(); |
| 36 | |
| 37 | /** |
| 38 | * Gets the main Fetcharr {@link EventBus}, |
| 39 | * where all {@link FetcharrEvent} API events are posted. |
| 40 | * |
| 41 | * @return the Fetcharr event bus |
| 42 | */ |
| 43 | @NotNull EventBus<@NotNull FetcharrEvent> bus(); |
| 44 | |
| 45 | /** |
| 46 | * Gets the {@link UpdateManager}, responsible for |
| 47 | * managing the *arr updaters. |
| 48 | * |
| 49 | * <p>This manager can be used to register |
| 50 | * and hook into {@link Updater} instances.</p> |
| 51 | * |
| 52 | * @return the current update manager |
| 53 | */ |
| 54 | @NotNull UpdateManager updateManager(); |
| 55 | |
| 56 | /** |
| 57 | * Sets the {@link UpdateManager} instance. |
| 58 | * |
| 59 | * @param manager the update manager |
| 60 | */ |
| 61 | void updateManager(@NotNull UpdateManager manager); |
| 62 | |
| 63 | /** |
| 64 | * Gets the {@link PluginManager}, responsible for |
| 65 | * managing plugins. |
| 66 | * |
| 67 | * <p>This manager can be used to view |
| 68 | * all currently-enabled plugins.</p> |
| 69 | * |
| 70 | * @return the current plugin manager |
| 71 | */ |
| 72 | @NotNull PluginManager pluginManager(); |
| 73 | |
| 74 | /** |
| 75 | * Gets the {@link Registry}, responsible |
| 76 | * for managing the plugin API registry. |
| 77 | * |
| 78 | * <p>This is useful for plugins registering |
| 79 | * their own API objects to be used by other |
| 80 | * plugins.</p> |
| 81 | * |
| 82 | * @return the registry |
| 83 | */ |
| 84 | @NotNull Registry registry(); |
| 85 | } |
no outgoing calls
no test coverage detected