package com.csc.library.factory; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import com.csc.library.command.CommandBase; import com.csc.library.command.CscCommand; import com.csc.library.modecontroller.CMDModeManagement; import com.csc.library.properties.CscSession; import com.csc.library.request.CMDMode; import com.csc.library.request.RequestWebsocket; import com.csc.library.session.InitialEnvironment; public class CommandFactory { private static CommandFactory instance; private CommandFactory(){ } public static CommandFactory getInstance(){ if(instance == null){ instance = new CommandFactory(); } return instance; } public CscCommand getCommand(CscSession session ,RequestWebsocket req){ CommandBase command = null; try{ CMDModeManagement.ModeBuilder builder = CMDModeFactory.getInstance().getModeBuilder(req.getCommandMode()); String className = builder.getClassName(req.getCommandCode()); Class c = Class.forName("com.csc.library.command."+className); command = (CommandBase)c.newInstance(); command.setRequest(req); command.setSession(session); command.setParamConfig(builder.getParamConfig(req.getCommandCode())); }catch(Exception e){ e.printStackTrace(); } return command; } }