Skip to content

Commit

Permalink
[Add] Add Module System
Browse files Browse the repository at this point in the history
  • Loading branch information
Lea-Bar committed Feb 8, 2025
1 parent ab1626e commit 8aa9a6d
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/main/java/fr/leabar/iutbot/modules/IModule.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package fr.leabar.iutbot.modules;

public interface IModule {
void start();

void stop();
}
27 changes: 27 additions & 0 deletions src/main/java/fr/leabar/iutbot/modules/ModuleManager.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package fr.leabar.iutbot.modules;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

public class ModuleManager {
private static final List<IModule> MODULES = new ArrayList<>();

public static void registerModules(){

}

public static void startModules(){
MODULES.forEach(IModule::start);
}

public static void stopModules(){
MODULES.forEach(IModule::stop);
}
public static <T extends IModule> Optional<T> getModule(Class<T> tClass){
return MODULES.stream()
.filter(tClass::isInstance)
.map(tClass::cast)
.findFirst();
}
}

0 comments on commit 8aa9a6d

Please sign in to comment.