merging in latest changes from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / operation / IPostOperationEnabled.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9
10 package eu.etaxonomy.taxeditor.operation;
11
12 import org.eclipse.core.runtime.Status;
13
14 import eu.etaxonomy.cdm.model.common.CdmBase;
15
16 /**
17 * Implementors may register to operations. The postOperation method will get
18 * called after any post operation
19 *
20 * @author n.hoffmann
21 * @created 24.03.2009
22 * @version 1.0
23 */
24 public interface IPostOperationEnabled {
25
26 /**
27 * <p>
28 * This method will be called after executing an operation. If operation
29 * created a new object and the {@link IPostOperationEnabled} has to know
30 * about the object it should be passed to the {@link IPostOperationEnabled}
31 * </p>
32 *
33 * @param objectAffectedByOperation
34 * a newly created object for example. May be <code>null</code>
35 * @return true if the method executed successfully. Returning false will
36 * set the operations status to {@link Status.CANCEL_STATUS} which
37 * might not be what you want.
38 */
39 public boolean postOperation(CdmBase objectAffectedByOperation);
40
41 /**
42 * This method will get called after the execution took place and occasional
43 * cleanups were performed. This is typically the last thing to happen.
44 *
45 * @return a boolean.
46 */
47 public boolean onComplete();
48
49 }