@Retention(value=RUNTIME) @Target(value=TYPE) public @interface Implementation
The instantiation happens at runtime, using
loadModules(URI uri) to load the modules. If a module has no implementation marked with this annotation
or an interface has been marked instead, nothing will happen.
If the annotated class extends some abstract base that implements the module, the system will discover this on its
own. If you want to be specific, specify the module using the module() parameter.
It is not possible that an implementation implements two different modules - even if they are interfaces. It is also not possible to have multiple implementations of a module.
| Modifier and Type | Optional Element and Description |
|---|---|
String[] |
authors
Holds a list of all authors that worked on the module, can be left empty
|
Class<? extends Module> |
module
Represents the class for the module we want to implement.
|
String |
version
The module version or build ID.
|
public abstract Class<? extends Module> module
Modulepublic abstract String[] authors
Copyright © 2014–2015 MountainBlade. All rights reserved.