3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.io
;
13 import org
.eclipse
.core
.runtime
.jobs
.Job
;
14 import org
.eclipse
.ui
.progress
.IProgressConstants
;
16 import eu
.etaxonomy
.cdm
.api
.application
.CdmApplicationController
;
17 import eu
.etaxonomy
.cdm
.io
.common
.IIoConfigurator
;
20 * <p>Abstract AbstractIOHandler class.</p>
23 * @created Sep 11, 2009
26 public abstract class AbstractIOManager
<CONFIGURATOR
extends IIoConfigurator
> {
28 protected CdmApplicationController applicationController
;
30 public static enum TYPE
{
31 BerlinModel
, Jaxb
, Tcs
, Excel_Taxa
, Endnote
, Sdd
, Abcd
35 * <p>Constructor for AbstractIOHandler.</p>
37 * @param applicationController a {@link eu.etaxonomy.cdm.api.application.CdmApplicationController} object.
38 * @param <CONFIGURATOR> a CONFIGURATOR object.
40 protected AbstractIOManager(CdmApplicationController applicationController
){
41 this.applicationController
= applicationController
;
45 * Starts the IO process
47 * @param configurator a CONFIGURATOR object.
49 public void run(final CONFIGURATOR configurator
){
51 Job job
= createIOJob(configurator
);
53 job
.setProperty(IProgressConstants
.KEEP_PROPERTY
, true);
63 * @param configurator a CONFIGURATOR object.
64 * @return a {@link org.eclipse.core.runtime.jobs.Job} object.
66 protected abstract Job
createIOJob(CONFIGURATOR configurator
);