/* * Copyright (c) 2012 Patrick Meyer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.itemanalysis.jmetrik.workspace; import com.itemanalysis.jmetrik.commandbuilder.Command; import com.itemanalysis.jmetrik.commandbuilder.MegaCommand; import com.itemanalysis.jmetrik.graph.barchart.BarChartProcess; import com.itemanalysis.jmetrik.graph.histogram.HistogramProcess; import com.itemanalysis.jmetrik.graph.irt.IrtPlotProcess; import com.itemanalysis.jmetrik.graph.itemmap.ItemMapProcess; import com.itemanalysis.jmetrik.graph.linechart.LineChartProcess; import com.itemanalysis.jmetrik.graph.nicc.NonparametricCurveProcess; import com.itemanalysis.jmetrik.graph.piechart.PieChartProcess; import com.itemanalysis.jmetrik.graph.scatterplot.ScatterplotProcess; import com.itemanalysis.jmetrik.scoring.BasicScoringProcess; import com.itemanalysis.jmetrik.scoring.ScoringProcess; import com.itemanalysis.jmetrik.stats.cmh.CmhProcess; import com.itemanalysis.jmetrik.stats.correlation.CorrelationProcess; import com.itemanalysis.jmetrik.graph.density.DensityProcess; import com.itemanalysis.jmetrik.stats.descriptives.DescriptiveProcess; import com.itemanalysis.jmetrik.stats.frequency.FrequencyProcess; import com.itemanalysis.jmetrik.stats.irt.equating.IrtEquatingProcess; import com.itemanalysis.jmetrik.stats.irt.estimation.IrtItemCalibrationProcess; import com.itemanalysis.jmetrik.stats.irt.estimation.IrtPersonScoringProcess; import com.itemanalysis.jmetrik.stats.irt.linking.IrtLinkingProcess; import com.itemanalysis.jmetrik.stats.irt.rasch.RaschAnalysisProcess; import com.itemanalysis.jmetrik.stats.itemanalysis.ItemAnalysisProcess; import com.itemanalysis.jmetrik.stats.ranking.RankingProcess; import com.itemanalysis.jmetrik.stats.scaling.TestScalingProcess; import com.itemanalysis.jmetrik.stats.transformation.LinearTransformationProcess; public class JmetrikProcessFactory { public JmetrikProcessFactory(){ } public JmetrikProcess getProcess(Command command){ return getProcess(command.getName()); } public JmetrikProcess getProcess(MegaCommand command){ return getProcess(command.getCommandName()); } public JmetrikProcess getProcess(String commandName){ //database and table procceses if(commandName.equals("import")){ return new ImportProcess(); } else if(commandName.equals("export")){ return new ExportProcess(); } else if(commandName.equals("database")){ return new DatabaseProcess(); } else if(commandName.equals("scoring")){ return new ScoringProcess(); } else if(commandName.equals("bscoring")){ return new BasicScoringProcess(); } else if(commandName.equals("subcase")){ return new SubsetCasesProcess(); } else if(commandName.equals("subvar")){ return new SubsetVariablesProcess(); } else if(commandName.equals("delvar")){ return new DeleteVariableProcess(); } else if(commandName.equals("renamevar")){ return new RenameVariableProcess(); } //graph processes else if(commandName.equals("barchart")){ return new BarChartProcess(); } else if(commandName.equals("piechart")){ return new PieChartProcess(); } else if(commandName.equals("histogram")){ return new HistogramProcess(); } else if(commandName.equals("density")){ return new DensityProcess(); } else if(commandName.equals("irtplot")){ return new IrtPlotProcess(); } else if(commandName.equals("itemmap")){ return new ItemMapProcess(); } else if(commandName.equals("line")){ return new LineChartProcess(); } else if(commandName.equals("scatter")){ return new ScatterplotProcess(); } else if(commandName.equals("nicc")){ return new NonparametricCurveProcess(); } //statistics processes else if(commandName.equals("freq")){ return new FrequencyProcess(); } else if(commandName.equals("descrip")){ return new DescriptiveProcess(); } else if(commandName.equals("corr")){ return new CorrelationProcess(); } else if(commandName.equals("rank")){ return new RankingProcess(); } else if(commandName.equals("scale")){ return new TestScalingProcess(); } else if(commandName.equals("lintran")){ return new LinearTransformationProcess(); } else if(commandName.equals("irtlink")){ return new IrtLinkingProcess(); } else if(commandName.equals("irteq")){ return new IrtEquatingProcess(); } else if(commandName.equals("item")){ return new ItemAnalysisProcess(); } else if(commandName.equals("cmh")){ return new CmhProcess(); } else if(commandName.equals("rasch")){ return new RaschAnalysisProcess(); } else if(commandName.equals("irtscoring")){ return new IrtPersonScoringProcess(); } else if(commandName.equals("irt")){ return new IrtItemCalibrationProcess(); } return null; } }