Package dev.cwhead.GravesX.module
Class ModuleManager.DescriptorImpl
java.lang.Object
dev.cwhead.GravesX.module.ModuleManager.DescriptorImpl
- All Implemented Interfaces:
GravesXModuleDescriptor
- Enclosing class:
ModuleManager
private static final class ModuleManager.DescriptorImpl
extends Object
implements GravesXModuleDescriptor
Read-only adapter that exposes a module's
module.yml metadata
and current runtime state via GravesXModuleDescriptor.
This is a thin wrapper over ModuleManager.LoadedModule and its info.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreates a descriptor for a loaded module. -
Method Summary
Modifier and TypeMethodDescriptionAuthor list frommodule.yml:authors.Human-readable description frommodule.yml:description.Fully qualified main class name frommodule.yml:main.Hard module dependencies frommodule.yml:moduleDepends.Modules that prefer to load after this one frommodule.yml:moduleLoadBefore.Soft module dependencies frommodule.yml:moduleSoftDepends.getName()Module display name frommodule.yml:name.Required external Bukkit plugins frommodule.yml:pluginDepends.Optional external Bukkit plugins frommodule.yml:pluginSoftDepends.Module version frommodule.yml:version.Project website or documentation URL frommodule.yml:website.booleanCurrent runtime enablement state.
-
Field Details
-
lm
-
-
Constructor Details
-
DescriptorImpl
DescriptorImpl(ModuleManager.LoadedModule lm) Creates a descriptor for a loaded module.- Parameters:
lm- non-null loaded module bundle- Throws:
NullPointerException- iflmis null
-
-
Method Details
-
getName
Module display name frommodule.yml:name.- Specified by:
getNamein interfaceGravesXModuleDescriptor- Returns:
- module name, never
null
-
getVersion
Module version frommodule.yml:version.- Specified by:
getVersionin interfaceGravesXModuleDescriptor- Returns:
- version string, or
nullif unspecified
-
getDescription
Human-readable description frommodule.yml:description.- Specified by:
getDescriptionin interfaceGravesXModuleDescriptor- Returns:
- description text, or
nullif unspecified
-
getWebsite
Project website or documentation URL frommodule.yml:website.- Specified by:
getWebsitein interfaceGravesXModuleDescriptor- Returns:
- website URL, or
nullif unspecified
-
getAuthors
Author list frommodule.yml:authors.- Specified by:
getAuthorsin interfaceGravesXModuleDescriptor- Returns:
- immutable list of authors (may be empty)
-
getMainClass
Fully qualified main class name frommodule.yml:main.- Specified by:
getMainClassin interfaceGravesXModuleDescriptor- Returns:
- FQCN of the module entrypoint, never
null
-
getModuleDepends
Hard module dependencies frommodule.yml:moduleDepends. These must be enabled before this module can enable.- Specified by:
getModuleDependsin interfaceGravesXModuleDescriptor- Returns:
- immutable list of required module names (may be empty)
-
getModuleSoftDepends
Soft module dependencies frommodule.yml:moduleSoftDepends. Presence adjusts load order but is not required.- Specified by:
getModuleSoftDependsin interfaceGravesXModuleDescriptor- Returns:
- immutable list of soft-dependency module names (may be empty)
-
getModuleLoadBefore
Modules that prefer to load after this one frommodule.yml:moduleLoadBefore.- Specified by:
getModuleLoadBeforein interfaceGravesXModuleDescriptor- Returns:
- immutable list of module names that should load after this module (may be empty)
-
getPluginDepends
Required external Bukkit plugins frommodule.yml:pluginDepends.- Specified by:
getPluginDependsin interfaceGravesXModuleDescriptor- Returns:
- immutable list of required plugin names (may be empty)
-
getPluginSoftDepends
Optional external Bukkit plugins frommodule.yml:pluginSoftDepends.- Specified by:
getPluginSoftDependsin interfaceGravesXModuleDescriptor- Returns:
- immutable list of soft plugin names (may be empty)
-
isEnabled
public boolean isEnabled()Current runtime enablement state.- Specified by:
isEnabledin interfaceGravesXModuleDescriptor- Returns:
trueif this module is enabled, otherwisefalse
-