Package dev.hypera.chameleon
Class ChameleonBootstrap<T extends Chameleon>
- java.lang.Object
-
- dev.hypera.chameleon.ChameleonBootstrap<T>
-
-
Field Summary
Fields Modifier and Type Field Description protected @NotNull EventBuseventBusprotected @NotNull ExtensionMapextensionsprotected @NotNull ChameleonLoggerloggerprotected @NotNull ChameleonPluginBootstrappluginBootstrap
-
Constructor Summary
Constructors Modifier Constructor Description protectedChameleonBootstrap(@NotNull String platform, @NotNull ChameleonPluginBootstrap pluginBootstrap, @NotNull ChameleonLogger logger)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Tload()Load Chameleon implementation.protected abstract TloadPlatform()<E extends ChameleonExtension>
@NotNull ChameleonBootstrap<T>withExtension(@NotNull ChameleonExtensionFactory<E> factory)Load with a Chameleon extension.
-
-
-
Field Detail
-
pluginBootstrap
@NotNull protected final @NotNull ChameleonPluginBootstrap pluginBootstrap
-
logger
@NotNull protected final @NotNull ChameleonLogger logger
-
eventBus
@NotNull protected final @NotNull EventBus eventBus
-
extensions
@NotNull protected final @NotNull ExtensionMap extensions
-
-
Constructor Detail
-
ChameleonBootstrap
protected ChameleonBootstrap(@NotNull @NotNull String platform, @NotNull @NotNull ChameleonPluginBootstrap pluginBootstrap, @NotNull @NotNull ChameleonLogger logger)
-
-
Method Detail
-
withExtension
@Contract("_ -> this") @NotNull public final <E extends ChameleonExtension> @NotNull ChameleonBootstrap<T> withExtension(@NotNull @NotNull ChameleonExtensionFactory<E> factory)Load with a Chameleon extension.- Type Parameters:
E- Extension type.- Parameters:
factory- The factory to create the Chameleon extension.- Returns:
this.
-
load
@Contract("-> new") @NotNull public final T load()Load Chameleon implementation.- Returns:
- Chameleon implementation instance.
-
loadPlatform
@NotNull protected abstract T loadPlatform()
-
-