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
;
21 * Abstract AbstractIOHandler class.
25 * @created Sep 11, 2009
28 public abstract class AbstractIOManager
<CONFIGURATOR
extends IIoConfigurator
> {
30 protected CdmApplicationController applicationController
;
32 public static enum TYPE
{
33 BerlinModel
, Jaxb
, Tcs
, Excel_Taxa
, Endnote
, Sdd
, Abcd
38 * Constructor for AbstractIOHandler.
41 * @param applicationController
43 * {@link eu.etaxonomy.cdm.api.application.CdmApplicationController}
45 * @param <CONFIGURATOR>
46 * a CONFIGURATOR object.
48 protected AbstractIOManager(CdmApplicationController applicationController
) {
49 this.applicationController
= applicationController
;
53 * Starts the IO process
56 * a CONFIGURATOR object.
58 public void run(final CONFIGURATOR configurator
) {
60 Job job
= createIOJob(configurator
);
62 job
.setProperty(IProgressConstants
.KEEP_PROPERTY
, true);
75 * a CONFIGURATOR object.
76 * @return a {@link org.eclipse.core.runtime.jobs.Job} object.
78 protected abstract Job
createIOJob(CONFIGURATOR configurator
);