Advertisement
Guest User

Untitled

a guest
Jul 9th, 2014
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.62 KB | None | 0 0
  1. package org.bitbucket.antflga.Fractal.modules;
  2.  
  3. import org.bitbucket.antflga.Fractal.Wrapper;
  4. import org.bitbucket.antflga.Fractal.modules.classes.TestModule;
  5.  
  6. import java.util.ArrayList;
  7. import java.util.Collections;
  8. import java.util.List;
  9.  
  10. //Created by Antflga on 7/2/2014 at 10:45 PM for Fractal
  11. @SuppressWarnings("unused")
  12. public class ModuleHandler {
  13.     private static final ModuleHandler instance = new ModuleHandler();
  14.  
  15.     public ModuleHandler(){
  16.         loadModules();
  17.         setupModules();
  18.     }
  19.  
  20.     public static ModuleHandler getInstance()
  21.     {
  22.         return instance;
  23.     }
  24.  
  25.     public List<BaseModule> modules = new ArrayList<>();
  26.     private List<? extends BaseModule> modules2 = new ArrayList<>();
  27.  
  28.     private void addModules(BaseModule... LeModules) {
  29.         Collections.addAll(modules, LeModules);
  30.     }
  31.  
  32.     public BaseModule getModByClassName(String name)
  33.     {
  34.         for (BaseModule mod : modules)
  35.         {
  36.             if (mod.getClass().getSimpleName().toLowerCase().trim()
  37.                     .equals(name.toLowerCase().trim()))
  38.             {
  39.                 return mod;
  40.             }
  41.         }
  42.  
  43.         return null;
  44.     }
  45.  
  46.     public BaseModule getModByName(String name)
  47.     {
  48.         for (BaseModule mod : modules)
  49.         {
  50.             if (mod.getName().trim().equalsIgnoreCase(name.trim())
  51.                     || mod.toString().trim().equalsIgnoreCase(name.trim()))
  52.             {
  53.                 return mod;
  54.             }
  55.         }
  56.  
  57.         return null;
  58.     }
  59.  
  60.     public BaseModule findMod(Class <? extends BaseModule > clazz)
  61.     {
  62.         for (BaseModule mod : modules)
  63.         {
  64.             if (mod.getClass() == clazz)
  65.             {
  66.                 return mod;
  67.             }
  68.         }
  69.  
  70.         return null;
  71.     }
  72.  
  73.     public BaseModule findMod(String name)
  74.     {
  75.         BaseModule mod = Wrapper.getInstance().getModInstance().getModByName(name);
  76.  
  77.         if (mod != null)
  78.         {
  79.             return mod;
  80.         }
  81.  
  82.         mod = Wrapper.getInstance().getModInstance().getModByClassName(name);
  83.         return mod;
  84.     }
  85.  
  86.   /**  public void getAnnotationData(){
  87.  
  88.         for(BaseModule m : modules) {
  89.             if(m.getClass().isAnnotationPresent(Module.class)) {
  90.                 Module annotation = m.getClass().getDeclaredAnnotation(Module.class);
  91.                 m.name = annotation.moduleName();
  92.                 m.description = annotation.moduleDescription();
  93.                 m.key = annotation.key();
  94.                 m.moduleType = annotation.moduleType();
  95.                 m.isVisible = annotation.isVisible();
  96.             } else {
  97.                 throw new RuntimeException(String.format("Module %s does not have the @Module annotation, pls fix kthnxyou", m.getClass().getSimpleName()));
  98.             }
  99.         }
  100.     }**/
  101.  
  102.     private void loadModules() {
  103.         modules.add(new TestModule());
  104.     }
  105.  
  106.     @SuppressWarnings("unchecked")
  107.     public void setupModules() {
  108.         for(BaseModule m : modules) {
  109.             if(m.getClass().isAnnotationPresent(Module.class)) {
  110.                 Module annotation = m.getClass().getDeclaredAnnotation(Module.class);
  111.                 m.name = annotation.moduleName();
  112.                 m.description = annotation.moduleDescription();
  113.                 m.key = annotation.key();
  114.                 m.moduleType = annotation.moduleType();
  115.                 m.isVisible = annotation.isVisible();
  116.             } else {
  117.                 throw new RuntimeException(String.format("Module %s does not have the @Module annotation, pls fix kthnxyou", m.getClass().getSimpleName()));
  118.             }
  119.         }
  120.     }
  121.  
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement