package jas2.swingstudio;

import java.util.Observer;
import java.io.*;
import jas2.util.tree.TreeItem;
import jas2.plugin.RunListener;
import jas2.job.*;

import jas2.jds.module.ModuleException;

/**
 * Implemented by LocalJob and JASJobAdaptor (but not by AbstractJob or JDSJob)
 */

public interface Job extends BasicJob
{
	boolean			open() throws ModuleException;
	/*
	 * The open() method is designed to be called right after the constructor
	 * for the Job class is called.  The constructor is supposed to pass the Job class
	 * the information needed for opening network connections, etc. and the
	 * open() method is supposed to actually open the job.
	 */

	void			reopen(ObjectInputStream stream, jas2.swingstudio.JASJob jasJob) throws OpenJobException;
	/*
	 * The reopen() method is meant to be called when the job is loaded
	 * from disk.  While open() will open connections, etc., reopen()
	 * should be called in its place when a job is being loaded and you
	 * want to have the job return to how it was when it was saved.
	 */

	public void addRunListener(RunListener listener);
	public void removeRunListener(RunListener listener);

	boolean			isLoaded(String className);
	void			reload();

	/**
	 * Called to load things such as Plugins, Extensions into the job on the client side.
	 */
	
	Class loadClientClass(String name) throws ClassNotFoundException;
}

 

Ads help maintain this website.