/* * This file is part of JGAP. * * JGAP offers a dual license model containing the LGPL as well as the MPL. * * For licensing information please see the file license.txt included with JGAP * or have a look at the top of class org.jgap.Chromosome which representatively * includes the JGAP license policy applicable for any file delivered with JGAP. */ package org.jgap.distr.grid; import org.jgap.*; import org.homedns.dade.jcgrid.client.*; /** * Abstract base class for the important grid configuration. It holds any * information necessary to describe a problem and the way it is solved * distributedly. * * @author Klaus Meffert * @since 3.2 */ public abstract class GridConfigurationBase implements IGridConfiguration { /** String containing the CVS revision. Read out via reflection!*/ private final static String CVS_REVISION = "$Revision: 1.2 $"; private IClientFeedback m_clientFeedback; private IRequestSplitStrategy m_splitStrategy; private Configuration m_config; private IClientEvolveStrategy m_clientEvolveStrategy; private IWorkerEvolveStrategy m_workerEvolveStrategy; private IWorkerReturnStrategy m_workerReturnStrategy; private IGenotypeInitializer m_genotypeInitializer; private String m_packageName; public GridConfigurationBase() { // m_packageName = getClass().getPackage().getName(); } public String getPackageName() { return m_packageName; } public IClientFeedback getClientFeedback() { return m_clientFeedback; } public IClientEvolveStrategy getClientEvolveStrategy() { return m_clientEvolveStrategy; } public IRequestSplitStrategy getRequestSplitStrategy() { return m_splitStrategy; } public Configuration getConfiguration() { return m_config; } public void setConfiguration(Configuration a_config) { m_config = a_config; } public IWorkerEvolveStrategy getWorkerEvolveStrategy() { return m_workerEvolveStrategy; } public IWorkerReturnStrategy getWorkerReturnStrategy() { return m_workerReturnStrategy; } public IGenotypeInitializer getGenotypeInitializer() { return m_genotypeInitializer; } public void setGenotypeInitializer(IGenotypeInitializer a_initializer) { m_genotypeInitializer = a_initializer; } public void setWorkerReturnStrategy(IWorkerReturnStrategy a_strategy) { m_workerReturnStrategy = a_strategy; } public void setWorkerEvolveStrategy(IWorkerEvolveStrategy a_strategy) { m_workerEvolveStrategy = a_strategy; } /** * Write your initialization of the private attributes here! * * @param a_gridconfig current grid node client configuration (provided via * the command line at startup) * @throws Exception in case of any error */ public abstract void initialize(GridNodeClientConfig a_gridconfig) throws Exception; /** * Called immediately before starting the grid computation. Verify here, * if your configuration is setup properly and all fields are initialized * correctly. * * @throws Exception */ public abstract void validate() throws Exception; public void setClientEvolveStrategy(IClientEvolveStrategy a_strategy) { m_clientEvolveStrategy = a_strategy; } public void setClientFeedback(IClientFeedback a_clientFeedback) { m_clientFeedback = a_clientFeedback; } public void setRequestSplitStrategy(IRequestSplitStrategy a_splitStrategy) { m_splitStrategy = a_splitStrategy; } }