package info.bukova.isspst;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ModuleUtils {
	
	public static List<Module> getActiveModules() {
		List<Module> modules = new ArrayList<Module>();
		
		for (Module m : Arrays.asList(Constants.MODULES)) {
			if (m.isActive()) {
				modules.add(m);
			}
		}
		
		return modules;
	}
	
	public static Module getModule(Class<?> serviceClass) {
		for (Module m : Constants.MODULES) {
			if (Arrays.asList(serviceClass.getInterfaces()).contains(m.getServiceClass())) {
				return m;
			}
		}
		
		return null;
	}
	
	public static Module getModule(String id) {
		for (Module m : Constants.MODULES) {
			if (m.getId().equals(id)) {
				return m;
			}
		}
		
		return null;
	}
	
	public static boolean isActive(String id) {
		return getModule(id).isActive();
	}

}
