All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jgap.impl.job.IJob Maven / Gradle / Ivy

/*
 * 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.impl.job;

import java.io.*;

/**
 * Interface for jobs of any kind.
 *
 * @author Klaus Meffert
 * @since 3.2
 */
public interface IJob
    extends Serializable, Runnable {
  /** String containing the CVS revision. Read out via reflection!*/
  final static String CVS_REVISION = "$Revision: 1.7 $";

  /**
   * Executes a job.
   *
   * @param a_data generic input parameters, as needed
   * @return result of execution
   *
   * @throws Exception in case of any error
   */
  JobResult execute(JobData a_data)
      throws Exception;

  JobData getJobData();

  void run();

  boolean isFinished();

  JobResult getResult();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy