package eu.simstadt.nf; import java.io.File; /** * Implementations of JobBuilder build nF import and export jobs using nF's XML job format. There should be * one implementation for each version of novaFACTORY. The supported version should be returned by * supportsNFVersion(). * * @param A import JobDescriptor. * @param JobBuilder takes implementations of JobDescriptor in order to populate the XML export job. * * @author Marcel Bruse */ public interface JobBuilder { /** * @return Tells the caller the supported version of novaFACTORY. */ public String supportsNFVersion(); /** * @return The supported version of the XML export job format. */ public String supportsExportJobVersion(); /** * @return The supported version of the XML import job format. */ public String supportsImportJobVersion(); /** * Builds a XML export job document. This file can be sent to a nF server instance by the caller afterwards. * * @param jobDescriptor A job descriptor which describes the export job with all its attributes according to * a valid nF export job DTD. * @return Returns a XML export job document. */ public File buildExportJobFile(E jobDescriptor); /** * Builds a zipped import job file. This file can be sent to a nF server instance by the caller afterwards. * * @param jobDescriptor A job descriptor which describes the import job with all its attributes according to * the nF manual. * @return Returns a zipped import job file. */ public File buildImportJobFile(I jobDescriptor); }