Package dev.hypera.chameleon.extension
Class ExtensionManagerImpl
- java.lang.Object
-
- dev.hypera.chameleon.extension.ExtensionManagerImpl
-
- All Implemented Interfaces:
ExtensionManager
@Internal public final class ExtensionManagerImpl extends Object implements ExtensionManager
Extension manager implementation.- See Also:
ExtensionManager
-
-
Constructor Summary
Constructors Constructor Description ExtensionManagerImpl(@NotNull Chameleon chameleon, @NotNull ExtensionMap loadedExtensions)Extension manager constructor.
-
Method Summary
All Methods Instance Methods Concrete 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.
-
-
-
Constructor Detail
-
ExtensionManagerImpl
@Internal public ExtensionManagerImpl(@NotNull @NotNull Chameleon chameleon, @NotNull @NotNull ExtensionMap loadedExtensions)Extension manager constructor.- Parameters:
chameleon- Chameleon instance.loadedExtensions- Extensions.
-
-
Method Detail
-
loadExtension
@NotNull public <T extends ChameleonExtension> T loadExtension(@NotNull @NotNull ChameleonExtensionFactory<T> factory) throws ChameleonExtensionException
Load a Chameleon extension.- Specified by:
loadExtensionin interfaceExtensionManager- 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
@NotNull public <T extends ChameleonExtension> @NotNull Optional<T> getExtension(@NotNull @NotNull Class<T> clazz)
Get a loaded Chameleon extension.- Specified by:
getExtensionin interfaceExtensionManager- 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
@NotNull public @NotNull Collection<ChameleonExtension> getExtensions()
Get all loaded Chameleon extensions.- Specified by:
getExtensionsin interfaceExtensionManager- Returns:
- loaded Chameleon extensions.
-
-