Package dev.hypera.chameleon.extension
Interface ExtensionManager
-
- All Known Implementing Classes:
ExtensionManagerImpl
@NonExtendable public interface ExtensionManagerExtension manager.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T extends ChameleonExtension>
@NotNull Optional<T>getExtension(@NotNull Class<T> clazz)Get a loaded Chameleon extension.@NotNull Collection<ChameleonExtension>getExtensions()Get all loaded Chameleon extensions.<T extends ChameleonExtension>
TloadExtension(@NotNull ChameleonExtensionFactory<T> factory)Load a Chameleon extension.
-
-
-
Method Detail
-
loadExtension
@Contract("_ -> _") @NotNull <T extends ChameleonExtension> T loadExtension(@NotNull @NotNull ChameleonExtensionFactory<T> factory) throws ChameleonExtensionExceptionLoad a Chameleon extension.- Type Parameters:
T- Chameleon extension type.- Parameters:
factory- The factory to create the Chameleon extension.- Returns:
- new Chameleon extension.
- Throws:
ChameleonExtensionException- if something goes wrong while loading the extension.
-
getExtension
@Contract(value="_ -> _", pure=true) @NotNull <T extends ChameleonExtension> @NotNull Optional<T> getExtension(@NotNull @NotNull Class<T> clazz)Get a loaded Chameleon extension.- Type Parameters:
T- Chameleon extension type.- Parameters:
clazz- Chameleon extension class.- Returns:
- an optional containing the loaded Chameleon extension platform, if loaded, otherwise an empty optional.
-
getExtensions
@Contract(value="-> _", pure=true) @NotNull @NotNull Collection<ChameleonExtension> getExtensions()Get all loaded Chameleon extensions.- Returns:
- loaded Chameleon extensions.
-
-