6c75b7987949a55b996d3f1de0062312c94596e4
[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 {
29
30 /**
31 * A reference to the taxon the concrete operation is working on
32 */
33 protected Taxon taxon;
34
35 /**
36 * A reference to the taxons TaxonNode
37 */
38 protected ITaxonTreeNode taxonNode;
39
40 protected UUID parentNodeUuid;
41
42 /**
43 * <p>Constructor for AbstractPostOperation.</p>
44 *
45 * @param label a {@link java.lang.String} object.
46 * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
47 */
48 protected AbstractPostTaxonOperation(String label, IUndoContext undoContext) {
49 super(label);
50 addContext(undoContext);
51 }
52
53 /**
54 * <p>Constructor for AbstractPostOperation.</p>
55 *
56 * @param label a {@link java.lang.String} object.
57 * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
58 * @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object.
59 */
60 public AbstractPostTaxonOperation(String label, IUndoContext undoContext,
61 Taxon taxon) {
62 this(label, undoContext);
63
64 this.taxon = taxon;
65 }
66
67 /**
68 * <p>Constructor for AbstractPostOperation.</p>
69 *
70 * @param label a {@link java.lang.String} object.
71 * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
72 * @param taxon a {@link eu.etaxonomy.cdm.model.taxon.Taxon} object.
73 * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
74 */
75 public AbstractPostTaxonOperation(String label, IUndoContext undoContext,
76 Taxon taxon, IPostOperationEnabled postOperationEnabled) {
77 this(label, undoContext, taxon);
78 this.postOperationEnabled = postOperationEnabled;
79 }
80
81 /**
82 * <p>Constructor for AbstractPostOperation.</p>
83 *
84 * @param label a {@link java.lang.String} object.
85 * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
86 * @param taxonNode a {@link eu.etaxonomy.cdm.model.taxon.TaxonNode} object.
87 * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
88 */
89 public AbstractPostTaxonOperation(String label, IUndoContext undoContext, TaxonNode taxonNode, IPostOperationEnabled postOperationEnabled){
90 this(label, undoContext, taxonNode.getTaxon(), postOperationEnabled);
91 this.taxonNode = taxonNode;
92 }
93
94 /**
95 * <p>Constructor for AbstractPostOperation.</p>
96 *
97 * @param label a {@link java.lang.String} object.
98 * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
99 * @param parentNodeUuid a {@link java.util.UUID} object.
100 * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
101 */
102 public AbstractPostTaxonOperation(String label, IUndoContext undoContext, UUID parentNodeUuid, IPostOperationEnabled postOperationEnabled){
103 this(label, undoContext);
104
105 this.parentNodeUuid = parentNodeUuid;
106 this.postOperationEnabled = postOperationEnabled;
107 }
108
109 /**
110 * <p>Constructor for AbstractPostOperation.</p>
111 *
112 * @param label a {@link java.lang.String} object.
113 * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.
114 * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
115 */
116 public AbstractPostTaxonOperation(String label, IUndoContext undoContext,
117 IPostOperationEnabled postOperationEnabled) {
118 this(label, undoContext);
119 this.postOperationEnabled = postOperationEnabled;
120 }
121
122
123 }