# CoreComponent

Kurzbeschreibung

@CoreComponent ist eine Annotation, mit der du Klassen als Plugin-Komponenten markierst. Diese werden beim Plugin-Start automatisch von der ComponentEngine gefunden und initialisiert.


# Anwendung

Komponente deklarieren:

@CoreComponent(loadMethod = "initialize", priority = LoadPriority.HIGH)
public class MyComponent {
    public static void initialize() {
        // Initialisierungscode
    }
}

Typische Use-Cases:

  • Automatisches Booten von Services, Listenern oder Commands
  • Steuerung der Boot-Reihenfolge über das priority-Attribut
  • Definieren von individuellen Methoden für Laden/Entladen

# Attribute

  • String loadMethod() default "initialize" – Name der statischen Methode, die beim Booten aufgerufen wird
  • String unloadMethod() default "onUnload" – Name der statischen Methode für das Herunterfahren
  • LoadPriority priority() default LoadPriority.MEDIUM – Priorität der Komponente beim Booten

# Hinweise

  • Die Annotation wirkt nur auf Klassenebene
  • Die Initialisierungsmethode muss public static sein
  • Die Reihenfolge der Initialisierung wird durch das priority-Attribut bestimmt