01 /* This file is part of the project "Hilbert II" - http://www.qedeq.org
02 *
03 * Copyright 2000-2013, Michael Meyling <mime@qedeq.org>.
04 *
05 * "Hilbert II" is free software; you can redistribute
06 * it and/or modify it under the terms of the GNU General Public
07 * License as published by the Free Software Foundation; either
08 * version 2 of the License, or (at your option) any later version.
09 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15
16 package org.qedeq.kernel.bo.module;
17
18
19
20 /**
21 * Represents a plugin execution.
22 *
23 * @author Michael Meyling
24 */
25 public interface PluginExecutor {
26
27 /**
28 * Execute plugin.
29 *
30 * @param process This process executes us.
31 * @param data Process execution data.
32 * @return Plugin specific resulting object. Might be <code>null</code>.
33 */
34 public Object executePlugin(final InternalServiceProcess process, final Object data);
35
36 /**
37 * Get percentage of currently running plugin execution.
38 *
39 * @return Number between 0 and 100.
40 */
41 public double getExecutionPercentage();
42
43 /**
44 * Get description of currently taken action.
45 *
46 * @return We are doing this currently.
47 */
48 public String getLocationDescription();
49
50 /**
51 * Was the execution interrupted?
52 *
53 * @return The execution was interrupted.
54 */
55 public boolean getInterrupted();
56
57 }
|