01: /*
02: * uDig - User Friendly Desktop Internet GIS client
03: * http://udig.refractions.net
04: * (C) 2004, Refractions Research Inc.
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation;
09: * version 2.1 of the License.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: */
17: package net.refractions.udig.project;
18:
19: import net.refractions.udig.project.internal.ProjectPackage;
20:
21: /**
22: * An event indicating a attribute of the EditManager has changed.
23: *
24: * @author Jesse
25: * @since 1.0.0
26: */
27: public class EditManagerEvent extends UDIGEvent {
28: /** Indicates the current edit feature has changed.
29: * The old value will be the last edit feature,
30: * the new value will be the currently/newly edit feature
31: */
32: public static final int EDIT_FEATURE = ProjectPackage.EDIT_MANAGER__EDIT_FEATURE;
33: /** Indicates the current edit layer has changed.
34: * The old value will be the last edit layer,
35: * the new value will be the currently/newly edit layer
36: */
37: public static final int EDIT_LAYER = ProjectPackage.EDIT_MANAGER__EDIT_LAYER_INTERNAL;
38: /** Indicates the currently selected layer has changed.
39: * The old value will be the last selected layer,
40: * the new value will be the currently/newly selected layer
41: */
42: public static final int SELECTED_LAYER = ProjectPackage.EDIT_MANAGER__SELECTED_LAYER;
43: /** Indicates the transaction is about to be committed. Old and new values will be null. */
44: public static final int PRE_COMMIT = -2;
45: /** Indicates the transaction has been committed. Old and new values will be null. */
46: public static final int POST_COMMIT = -1;
47: /** Indicates the transaction is about to be rolledback. Old and new values will be null. */
48: public static final int PRE_ROLLBACK = -3;
49: /** Indicates the transaction has been rolledback. Old and new values will be null. */
50: public static final int POST_ROLLBACK = -4;
51:
52: private int type;
53:
54: /**
55: * Construct <code>EditManagerEvent</code>.
56: *
57: * @param source the object that raised the event.
58: * @param type the type of event this object represents.
59: * @param newValue the new value, if this applies.
60: * @param oldValue the old value, if this applies.
61: */
62: public EditManagerEvent(IEditManager source, int type,
63: Object newValue, Object oldValue) {
64: super (source, newValue, oldValue);
65: this .type = type;
66: }
67:
68: /**
69: * Gets the type of the event.
70: *
71: * @return the type of the event.
72: * @see #EDIT_FEATURE
73: * @see #EDIT_LAYER
74: * @see #SELECTED_LAYER
75: * @see #PRE_COMMIT
76: * @see #POST_COMMIT
77: * @see #PRE_ROLLBACK
78: * @see #POST_ROLLBACK
79: * @uml.property name="type"
80: */
81: public int getType() {
82: return type;
83: }
84:
85: @Override
86: public IEditManager getSource() {
87: return (IEditManager) source;
88: }
89: }
|