b37c5401060a7b0dc3825b3e1210422ba01ac992
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / operation / AbstractPostTaxonOperation.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 java.util.UUID;
13
14 import org.eclipse.core.commands.operations.IUndoContext;
15
16 import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
17 import eu.etaxonomy.cdm.model.taxon.Taxon;
18 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
19
20 /**
21 * <p>Abstract AbstractPostOperation class.</p>
22 *
23 * @author p.ciardelli
24 * @author n.hoffmann
25 * @created 14.01.2009
26 * @version 1.0
27 */
28 public abstract class AbstractPostTaxonOperation extends AbstractPostOperation<Taxon> {
29
30 /**
31 * A reference to the taxons TaxonNode
32 */
33 protected ITaxonTreeNode taxonNode;
34
35 protected UUID parentNodeUuid;
36
37
38 /**
39 * <p>Constructor for AbstractPostOperation.</p>
40 *
41 * @param label a {@link java.lang.String} object.
42 * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
43 * @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object.
44 * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
45 */
46 public AbstractPostTaxonOperation(String label, IUndoContext undoContext,
47 Taxon taxon, IPostOperationEnabled postOperationEnabled) {
48 super(label, undoContext, taxon, postOperationEnabled);
49 }
50
51 /**
52 * <p>Constructor for AbstractPostOperation.</p>
53 *
54 * @param label a {@link java.lang.String} object.
55 * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
56 * @param taxonNode a {@link eu.etaxonomy.cdm.model.taxon.TaxonNode} object.
57 * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
58 */
59 public AbstractPostTaxonOperation(String label, IUndoContext undoContext, TaxonNode taxonNode, IPostOperationEnabled postOperationEnabled){
60 this(label, undoContext, taxonNode.getTaxon(), postOperationEnabled);
61 this.taxonNode = taxonNode;
62 }
63
64 /**
65 * <p>Constructor for AbstractPostOperation.</p>
66 *
67 * @param label a {@link java.lang.String} object.
68 * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
69 * @param parentNodeUuid a {@link java.util.UUID} object.
70 * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
71 */
72 public AbstractPostTaxonOperation(String label, IUndoContext undoContext, UUID parentNodeUuid, IPostOperationEnabled postOperationEnabled){
73 super(label, undoContext, null, postOperationEnabled);
74 this.parentNodeUuid = parentNodeUuid;
75 }
76
77 /**
78 * <p>Constructor for AbstractPostOperation.</p>
79 *
80 * @param label a {@link java.lang.String} object.
81 * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
82 * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
83 */
84 public AbstractPostTaxonOperation(String label, IUndoContext undoContext,
85 IPostOperationEnabled postOperationEnabled) {
86 super(label, undoContext, null, postOperationEnabled);
87 }
88
89 /**
90 * @param text
91 * @param undoContext
92 * @param taxon
93 */
94 public AbstractPostTaxonOperation(String label, IUndoContext undoContext, Taxon taxon) {
95 this(label, undoContext, taxon, null);
96 }
97 }