/* * 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.gp; import java.util.*; import org.homedns.dade.jcgrid.*; import org.jgap.distr.*; import org.jgap.gp.*; import org.jgap.gp.impl.*; /** * Holds the result of a worker. * * @author Klaus Meffert * @since 3.1 */ public class JGAPResultGP extends WorkResult { /** String containing the CVS revision. Read out via reflection!*/ private final static String CVS_REVISION = "$Revision: 1.10 $"; private IGPProgram m_fittest; private GPPopulation m_pop; private MasterInfo m_workerInfo; /** * Arbitrary extra data */ private Object m_genericData; private long m_unitDone; private int m_chunk; private String m_id; private String m_title; private Date m_responseDate; private String m_description; /** * Duration of computation */ private long m_durationComputation; /** * Constructor: Takes the fittest program determined as result of a worker's * computation. * * @param a_sessionName arbitrary session name to distinct from other results * @param a_id ID of the result, should be unique * @param a_chunk running index of request chunk, should be unique within an * identification * @param a_fittestProg the fittest program determined * @param a_unitdone number of units done * @deprecated use other constructor with GPPopulation parameter instead */ public JGAPResultGP(String a_sessionName, String a_id, int a_chunk, IGPProgram a_fittestProg, long a_unitdone) { super(a_sessionName, 0); m_fittest = a_fittestProg; m_unitDone = a_unitdone; m_chunk = a_chunk; m_id = a_id; } /** * Constructor: Takes a population as result of a worker's computation. * * @param a_sessionName arbitrary session name to distinct from other results * @param a_id ID of the result, should be unique * @param a_chunk running index of request chunk, should be unique within an * identification * @param a_programs the result of a worker's computation * @param a_unitdone number of units done * * @author Klaus Meffert * @since 3.2 */ public JGAPResultGP(String a_sessionName, String a_id, int a_chunk, GPPopulation a_programs, long a_unitdone) { super(a_sessionName, 0); m_fittest = null; m_pop = a_programs; m_unitDone = a_unitdone; m_chunk = a_chunk; m_id = a_id; } /** * @return IGPProgram the fittest program known * @deprecated use getPopulation instead */ public IGPProgram getFittest() { return m_fittest; } /** * @return the GPPopulation as a result from a worker's computation * * @author Klaus Meffert * @since 3.2 */ public GPPopulation getPopulation() { return m_pop; } public long getUnitDone() { return m_unitDone; } /** * Adds arbitrary generic data to the result. * * @param a_genericData arbitrary generic data * * @author Klaus Meffert * @since 3.3.3 */ public void setGenericData(Object a_genericData) { m_genericData = a_genericData; } /** * @return generic data contained in the result. * * @author Klaus Meffert * @since 3.3.3 */ public Object getGenericData() { return m_genericData; } public int getChunk() { return m_chunk; } /** * @return information about the worker * * @author Klaus Meffert * @since 3.3.3 */ public MasterInfo getWorkerInfo() { return m_workerInfo; } /** * * @param a_workerInfo set information about the worker * * @author Klaus Meffert * @since 3.3.3 */ public void setWorkerInfo(MasterInfo a_workerInfo) { m_workerInfo = a_workerInfo; } public String getID() { return m_id; } /** * @param a_date date the response was computed * * @author Klaus Meffert * @since 3.3.3 */ public void setResponseDate(Date a_date) { m_responseDate = a_date; } /** * @return the date the response was computed * * @author Klaus Meffert * @since 3.3.3 */ public Date getResponseDate() { return m_responseDate; } /** * @param a_descr arbitrary description of the result * * @author Klaus Meffert * @since 3.3.3 */ public void setDescription(String a_descr) { m_description = a_descr; } /** * @return arbitrary description of the result * * @author Klaus Meffert * @since 3.3.3 */ public String getDescription() { return m_description; } public long getDurationComputation() { return m_durationComputation; } public void setDurationComputation(long a_durationComputation) { m_durationComputation = a_durationComputation; } /** * @param a_title the title to set * * @author Klaus Meffert * @since 3.3.4 */ public void setTitle(String a_title) { m_title = a_title; } /** * @return the title set * * @author Klaus Meffert * @since 3.3.4 */ public String getTitle() { return m_title; } /** * Clear the fittes program. * * @author Klaus Meffert * @since 3.3.4 */ public void clearFittest() { m_fittest = null; } }